[英]How to do makefile to compile multiple .cpp files in different directories using a single makefile?
[英]How to generate dependencies with header files from different directories using a Makefile?
我正在尝试将 ASIO 库用于网络项目。 我的项目和 ASIO 头文件位于不同的目录中。 我的 main.cpp 的编译(除了包括asio.hpp和iostream什么都不做)工作得很好,但是make Depend命令产生一个错误,说asio.hpp没有找到。 我该如何解决这个问题?
CC = g++
ASIO = -I /Users/user1/Desktop/SDK/asio-1.18.0/include
CFLAGS = -Wall -g -std=c++11 ${ASIO}
SRCS = main.cpp
#SRCS = ${wildcard *.cpp}
OBJS = ${SRCS:.cpp=.o}
INCLS = ${SRCS:.cpp= main.h}
a.out: $(OBJS)
$(CC) $(CFLAGS) $(OBJS)
$(OBJS):
$(CC) $(CFLAGS) -c $*.cpp
depend: Makefile.dep
$(CC) -MM $(SRCS) > Makefile.dep
Makefile.dep:
touch Makefile.dep
clean:
rm -f $(OBJS) a.out core a.exe
include Makefile.dep
这并不神秘:描述在哪里可以找到标题的选项在这里:
ASIO = -I /Users/user1/Desktop/SDK/asio-1.18.0/include
构建依赖项的规则在这里:
depend: Makefile.dep
$(CC) -MM $(SRCS) > Makefile.dep
注意到有什么遗漏了吗? 该命令中不存在用于查找标题的选项。 将其更改为:
depend: Makefile.dep
$(CC) $(ASIO) -MM $(SRCS) > Makefile.dep
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.