我有一个项目(一个库),它被细分为几个目录,其中包含代码。我想让 g++ 在项目的根目录中搜索头文件,这样我可以避免跨多个源文件的相同头文件的不同包含路径。
主要是root/
目录下有子目录A/
,B/
和C/
, 里面都有.hpp
和.cpp
文件。如果 A 中的某个源文件想要包含file.hpp
B 中的 ,则必须这样做:#include "../B/file.hpp"
. 对于 C 中的另一个源文件也是如此。但是,如果 A 本身具有包含需要的文件的子目录file.hpp
,那么如果我决定移动文件,它将不一致并且会导致错误(因为包含路径将是"../../B/file.hpp"
)。
此外,这也需要在其他项目中工作,这些项目位于root/
. 我已经知道有一个选项可以手动将我的所有头文件复制到默认搜索目录中,但我想按照我描述的方式进行操作。
编辑:使用该库的所有程序必须仅使用g++ prog.cpp lib.a -o prog
. 这意味着永久设置 g++ 的包含路径!