tgy*_*tgy 11 c++ include include-path
我发现#include "../app/thing.h"非常难看,我希望能够从我的项目的主根导入,如下所示:
#include <project/app/submodule/thing.h>
(我知道<>通常用于外部,但我发现它更清洁)
我怎样才能在项目的任何地方做到这一点?
您只需要确保您的构建过程设置了一个选项来指定搜索的起点。
例如,如果您的标题位于:
/work/username/src/project/app/submodule/thing.h
Run Code Online (Sandbox Code Playgroud)
那么你需要包括(假设一个符合 POSIX 的编译器;AFAICR,甚至 MSVC/I用作模拟-I):
-I/work/username/src
Run Code Online (Sandbox Code Playgroud)
作为编译器选项之一。您可以在项目的任何位置使用该路径,因为它是绝对路径。您只需要一种定义的方式让您的构建系统知道应该是什么设置,这样当它移动到 时/home/someone/src/,您只需更改一个设置。