Visual Studio C ++编译器失败,因为包含文件名太长

时间:2014-10-01 16:31:32

标签: c++ visual-studio-2010 visual-studio include-path

我的应用程序包含多个子文件夹,可以很深入,例如。

library\management\security\descriptor\configurations

(这只是一个虚构的例子)

如果我的应用程序的另一部分需要此文件夹的包含文件,则会写入:

#include "library\management\security\descriptor\configurations\config.h"

问题是,如果包含此include的文件也位于相当深的路径中,如下所示:

people\groups\interestgroups\manager.cpp

我们在文件夹中检查了我们的项目:

E:\jenkins\workspace\application\release\flavour

然后Visual Studio编译器(我们使用/I.(斜杠-I-dot)选项编译)首先在此位置查找文件:

E:\jenkins\workspace\application\release\flavour\people\groups\interestgroups\library\management\security\descriptor\configurations\config.h"

然后只在

E:\jenkins\workspace\application\release\flavour\library\management\security\descriptor\configurations\config.h"

http://msdn.microsoft.com/en-us/library/vstudio/36k2cdd4(v=vs.100).aspx中描述了这种行为)。 所以它坚持首先查看编译文件所在的位置,然后只查看/I选项。

问题是编译器首先看到的地方会导致文件名太长(> 256个字符)而编译器就放弃了。

有没有办法告诉Visual Studio在包含路径太长时不停止?优选地,不使用括号包括格式(#include <>)。

1 个答案:

答案 0 :(得分:0)

你可以在interestgroups文件夹中创建只包含config.h文件的文件,你只需要包含interestgroups文件并使用该文件