为什么我不能包括这个.h?

时间:2010-12-31 19:48:00

标签: c++ visual-studio-2008

我有以下目录结构:

alt text

我写了包含:

#include "obj.h"
#include "textura.h"

然而,我得到了:

fatal error C1083: Cannot open include file: 'obj.h': No such file or directory.

为什么?

我之前尝试将文件移动到“头文件”,它没有工作,同样的错误。

2 个答案:

答案 0 :(得分:2)

查看obj.h的目录路径(应该在文件属性中),并确保它所在的目录存在于项目的默认包含目录中。

答案 1 :(得分:2)

显示的“目录结构”实际上并不存在。它既不是目录,也不是结构。解决方案资源管理器中的文件夹仅用于可视化分组文件,仅供参考。真正的问题是obj.h位于磁盘上的哪个位置。它必须位于要编译的.cpp所在的文件夹中。如果它不在同一个文件夹中,那么你:

  • 将obj.h移动到.cpp所在的文件夹中,或
  • 将#include指令更改为从.cpp开始到obj.h结束的相对路径,或
  • 在项目中设置选项,告诉编译器在哪里找到obj.h(属性> C / C ++> General>其他包含目录),或
  • 在Visual Studio中设置选项,告诉编译器在哪里找到obj.h.此选项用于MSDN或您严重依赖的某些其他框架,不应将其用于您自己的文件。