假设我有这样的目录:
dir1
main.cpp
dir2
abc.cpp
dir3
def.cpp
dir4
ghi.cpp
jkl.cpp
假设 main.cpp 包含 dir2/abc.cpp 和 dir3/def.cpp,def.cpp 包含 dir4/ghi.cpp 和 dir4/jkl.cpp。
我的问题是,我怎样才能在 dir1/中有 一个 Makefile/CMakeLists.txt,它递归地进入每个目录并编译 *.cpp,然后“加入”它们?
对不起我的英语,希望我能很好地解释我的问题!
谢谢!
最佳答案
对于 makefile,dir1/Makefile 应该:
- 声明 main.o 依赖于 dir2/abc.o 和 dir3/def.o
- 声明如何创建dir2/abc.o和dir3/def.o
至于 cmake,它会“自动”检测此类依赖项(二进制依赖于 dir2/abc.o 和 dir3/def.o),因此实际上您不需要关心它。
关于c++ - (c)make - 递归编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1779722/