2011-08-15 28 views
4

正如标题所示:是否有使用VS20 ** C++的包含目录的编译指示?我想像这样:包含目录是否有一个编译指示?

#pragma comment(include, "..\externals\blah\includes\") 

这样我就可以在这个样式中使用include,并且blah.h也可以在里面使用这个样式吗?

#include <blah.h> 

我知道我可以设置包括在我的项目设置目录,但我要求一个预处理器指令,因为否则我将不得不将其设置为每一个编译器配置文件。

Regards Nem

+0

您知道您可以多选配置文件,然后设置包含文件夹吗? – 2011-08-15 20:08:30

+0

是的,但至少通过添加一个单一的配置文件,我必须再次设置它。 –

回答

2

我不认为有任何方法可以做到这一点。 include_alias仅在逐个文件的基础上有用。

+0

是的但这样我也可以修改每个外部项目的头文件。 –

0

我不知道任何。

前段时间,我通过在每个目录中创建“all”和“all.cpp”文件来解决这个问题,以便将每个头文件和源文件包含在其中。它需要一些手工工作来创建和维护,但我相信这是值得的。这样我就可以写出类似#include <Frigo/Math/all>的东西。甚至可以创建一个脚本来自动更新它们。

0

你可以“主文件夹”添加到您的项目属性,然后把正确的文件夹中的include指令,例如:

文件夹“包括”子文件夹“的Unicode” /“ASCII”,都与一个名为“STRING.H”头文件中的代码使用(你不应该使用相同的名称)

#ifdef UNICODE // or your preprocessor flag 
# include <Unicode/string.h> 
#else 
# include <ASCII/string.h> 
#endif 

你也可以使用DEBUG或ny关键字,只要你指定它在Project-Settings --> C/C++ --> Preprocessor --> Preprocessor defintions

+0

对不起,但我知道。我不确定你是否正确理解我的问题。如果你会看我的帖子,你会知道这不是我想要的问题。 –

5

你可以创建一个txt文件(例如。 IncludeDirs.txt)。在这个文件中,你可以添加包含的文件夹:

/I "." 
/I ".." 
/I ".\OtherFolder" 

然后在属性 - >配置属性 - > C/C++ - >命令行 添加下面的字符串:

@includedirs.txt 

你可以为每个配置文件创建不同的文件(调试,发布等)

+0

不错 - 唯一的缺点是它被埋在一个“非标准”位置的项目设置中,但是如果它只需要做一次,它可能会让事情变得更容易。 – ZXcvbnM

相关问题