【发布时间】:2019-09-06 00:16:43
【问题描述】:
我需要你的帮助,以防止我在制作项目上花费数小时。
我正在尝试一个更大的 .cpp 项目。因此这是我的文件夹结构:
myproj
|
|____Makefile
|____main.cpp
|____init.cpp
|____end.cpp
|____init.h
|____end.h
|____Dependencies
|____biggerlib
|____bin
|____include
|____biggerLib1
|____biggerLib2
|____biggerLib
|____biggerLibrary.h
|____Lib2.h
|____Lib3.h
|____AnotherDirWithFiles1
|____AnotherDirWithFiles2
|____AnotherDirWithFiles3
|____etc.
|____src
|____makestuff
|____...
|____...
|____...
|____...
|____codestuff
|____...
|____...
|____...
|____...
|____datastuff
|____...
|____...
|____...
|____...
|____Examples
|____...
|____...
|____...
|____...
|____etc.
我猜你现在可以想象我的文件夹结构了。
所以直到现在我总是收到 gcc 的错误警告,因为它无法在我的子文件夹结构中找到我的头文件。 所以我不得不将它们自己绑定到我的makefile中。 这工作量太大了,所以我希望你能帮我找到一个解决方案,告诉 gcc 在 Dependencies/biggerlib 文件夹后面实现所有头文件。
感谢大家的帮助!!
【问题讨论】:
-
不,
make本身无法搜索任何内容。当然,有一些方法可以编写和安排源代码和 makefile,以简化向编译器表达头文件路径,而这正是您应该做的。还有一些工具,例如 Autoconf 和 CMake,旨在使构建过程适应不同的构建系统,这些可以用于扫描您自己的代码库,但为什么呢?您无需分析代码库,因为您可以控制它! -
你确定没有两个头文件同名吗?
标签: makefile