c ++:包含路径变量,然后是标题名称

时间:2018-03-02 17:22:11

标签: c++ c++11

假设我有一个主要方法,我写道:

#include "path/to/header/header.h"

我为我的每个本地项目包括一遍又一遍地这样做。

有没有办法定义一个变量,以便我可以写:

#some_var = "path/to/headers/"
#include "{some_var}header.h"

例如,我不在makefile中写任何东西:

#include "../../path/to/header.h" // <-- using a relative path

现在,我包含项目根目录:

#include "path/to/header.h" // <-- use path relative to the project root

接下来,我包含特定目录:

#include "header.h" // <-- user has no clue where this is.

最好的情况(目前),我包含项目根目录,并使用本地路径。现在,我有同样的问题:

#include "pathA/header.h"
#include "pathA/header2.h"
#include "pathA/..."
#include "pathB/..."

// above turns into a mess 
// with anything other than 
// a flat source dir, 
// 
// and a flat source dir 
// is a mess to anyone 
// but the original author.

所以我要拍的是:包含项目根目录。

然后,在代码文件中:

// pseudo-code
#something src = "src/"
#something SomeLib = "dependencies/SomeLib/"


#include "{src}MyClass.h"
#include "{SomeLib}TheirClass.h"

0 个答案:

没有答案