当我更改链接器,输入,其他依赖项或VC ++目录时,编译器的行为就像未发生更改一样。
也就是说,我可以删除所有其他依赖项(尽管它们是绝对必要的),并且该项目仍将进行编译和链接;或者,如果我最初没有放置在正确的VC ++目录中,则添加这些目录不会使VS查找所需的文件。 (如果右键单击#include,其红色波浪线显示存在问题,它将说SDL.h在...中未找到,并列出了许多目录,这些目录都不是我添加的目录。)这很重要,因为我试图确定哪个库引起冲突。
IDE 显示我重新加载项目属性时所做的更改;它只是不会对他们起作用。它确实会通知我是否更改了Windows SDK版本。
这仅在我的一台计算机上发生。我最近在上面安装了Visual Studio 2019 Preview。尽管我正在运行2017,但仍尝试卸载2019 Preview;没有效果。
根据要求,以下是未找到包含文件的示例错误消息:
c:\ myProject \ source \ audiopath.cpp(14):致命错误C1083:无法打开包含文件:'audiopath.h':没有此类文件或目录
如果尝试通过右键单击#include来加载包含文件,这就是我得到的:
在当前源文件的目录或构建系统路径中找不到文件'audiopath.h'。
当前源文件路径:'C:\ myProject \ source'
构建系统路径:[目录的长列表,都不是C:\ myProject \ include]
这是我拥有的项目属性,VC ++目录,包括目录:
$(VC_IncludePath); $(WindowsSDK_IncludePath); c:\ myProject \ include
,项目属性,C / C ++,常规,其他包含目录为c:\myProject\include
。
c:\myProject\include
确实包含audiopath.h。
答案 0 :(得分:1)
这是编辑一种配置类型的属性(例如Release)并构建另一种配置类型(例如Debug)的典型情况。在Visual Studio 2015和2017中,在编辑项目属性时,请始终确保所选配置(发布/调试)与当前正在编辑的配置匹配。 我发现这在我的工作场所中经常发生。