我似乎无法理解VS 2015如何处理包含路径。我已经把我需要VS的文件夹扫描到"属性"中的以下位置的包含文件。我的项目窗格:
配置属性> VC ++目录>包括目录
配置属性> C / C ++>一般>其他包含目录
但是当我要求构建时,我得到了:
fatal error C1083: Cannot open include file: 'xyz.h': No such file or directory
拼写已经过双重检查。我尝试了一个虚拟项目,我可以发送,同样的行为。我试过斜线和反斜线。实际上,某些文件夹是项目文件夹的子文件夹,并且在其路径描述中不需要任何斜杠或反斜杠(只是文件夹名称)。那些也无法被扫描,编译器的内容仍然没有。
我也尝试在include指令中手动指定路径,这可行。
我还打开了一个项目,其中一切正常,我在一个新添加到包含路径的文件夹中为新创建的文件添加了一个新的include指令。该项目现在无法编译。
更好的是,如果我从C / C ++中提交的附加包含目录中删除一个(甚至所有)文件夹,那么仍然使用那个编译得很好的旧项目>一般它仍在编译!所以这一定是指定包括dirs的错误位置!
我在这里不知道什么?提前谢谢!
答案 0 :(得分:0)
解决。
在Visual Studio中,您可以拥有多个配置(例如,调试或发布)和目标平台(例如x86或x64)。
所有属性(如包含路径)也为每个配置和平台组合都有一个变体。
编辑属性时,您只需编辑您在顶部设置的配置和平台组合的属性。
这意味着我正在编辑一个配置/平台组合的包含路径,并为另一个进行编译。
这是一个糟糕的设计,但还好。至少可以指定您要编辑所有配置和所有平台的属性(配置和平台的相应下拉菜单中的最后一个选项)。
答案 1 :(得分:-1)
我通常首先在包含新文件时将整个路径放在include中。编译之后,我将目录移动到我想要的位置(通常是附加包含目录),最后一旦该工作在适用时使用env var。
还有“”vs<> https://msdn.microsoft.com/en-us/library/36k2cdd4.aspx