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