是否有包含目录的pragma指令?

时间:2011-08-15 19:08:26

标签: c++ visual-studio include pragma

正如标题所说:是否有使用VS20 ** C ++的包含目录的pragma指令?我想的是:

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

这样我就可以在这种风格中使用include,而blah.h也可以在里面使用这种风格吗?

#include <blah.h>

我知道我可以在项目设置中设置包含目录,但我要求预处理器指令,因为否则我必须为每个编译器配置文件设置它。

关心Nem

4 个答案:

答案 0 :(得分:5)

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

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

然后在 properties-&gt;配置属性 - &gt; C / C ++ - &gt;命令行 添加以下字符串:

@includedirs.txt

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

答案 1 :(得分:2)

我认为没有办法做到这一点。 include_alias仅在逐个文件的基础上有用。

答案 2 :(得分:0)

我不知道。

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

答案 3 :(得分:0)

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

文件夹“包含”,子文件夹“Unicode”/“ASCII”,两者都带有名为“String.h”的头文件(您不应使用同名)

代码使用中的

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

您也可以使用DEBUG或任何关键字,只要您在Project-Settings --> C/C++ --> Preprocessor --> Preprocessor defintions中指定