我的应用程序包含多个子文件夹,可以很深入,例如。
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 <>
)。
答案 0 :(得分:0)
你可以在interestgroups文件夹中创建只包含config.h文件的文件,你只需要包含interestgroups文件并使用该文件