【发布时间】:2010-12-02 17:46:15
【问题描述】:
我在 Visual Studio 2008 解决方案文件中有一个大型 C++ 项目,一切都在正确编译和构建。到目前为止一切顺利。
但是,当我尝试直接从 IDE 的代码查看器窗口打开它们时,它无法找到任何头文件,即使这些头文件的文件夹位置已在“属性”页面的“其他包含路径”部分中列出.
例如,这个 C++ 代码片段构建成功:
#include "ctrl_word.h"
#include "SwitchOBJ.h"
CMyLocalOBJ::CMyLocalOBJ()
{
CSwitchOBJ cSwitchObj;
// ...
}
但是,当我右键单击任何一个头文件的名称并选择上下文菜单选项“打开文档”时,会弹出此错误对话框:
在当前源目录或构建系统路径中找不到文件“ctrl_word.h”。
当前源路径:
构建系统路径:
C:\Program Files\Microsoft Visual Studio 9.0\VC\include;
C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include;
C:\Program Files\Microsoft SDKs\Windows\v6.0A\\Include;
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include
上述文件 ctrl_word.h 确实不存在于上述任何文件夹中,但构建系统通过查找其他包含目录没有问题。
我对此感到担忧的主要原因是,我配置为在 IDE 中运行的 Lint 工具出现了类似的“无法打开文件 X”行为。
你有什么想法吗?
【问题讨论】:
-
“C:\Program Files\Microsoft SDKs\Windows\v6.0A\\Include;”中的双反斜杠- 配置错误或相同?
-
我认为这不是错字。可能有人输入了 %PROJECTDIR%\include。这可能会解析为 C:\PROJECT_FOLDER\\include。但我认为 VStudio 忽略了额外的 '\'。
-
这就是我的假设。其他工具是否也忽略它(使用相同的共享功能访问文件夹)?一方面,您知道编译器会忽略它,而另一方面,IDE 可能不会。当你手动搜索表头时,你会在这个文件夹中找到它吗?
-
slashmais - 我仔细检查过,双反斜杠不是错字,它是上述对话框文本中出现的内容。我不确定它是否指的是 Visual Studio 中的配置缺陷。
-
你可以参考这个stackoverflow.com/questions/12490015/…,看起来像vs bug
标签: visual-studio-2008 visual-c++ include-path