致命错误C1083:无法打开包含文件:'xyz.h':没有这样的文件或目录?

时间:2011-10-17 06:11:28

标签: c++

我正在使用visual studio 2005来创建一个项目。我在项目中有文件夹结构:一个名为code的文件夹。此文件夹包含所有* .cxx文件。

现在,我在头文件xyz.h中创建了一个类xyz.并定义了xyz.cxx中放在代码文件夹中的所有内容。 但是现在当我尝试使用visual studio编译它时,它会抛出一个错误 “致命错误C1083:无法打开包含文件:'xyz.h':没有这样的文件或目录”。如何纠正这个问题。

5 个答案:

答案 0 :(得分:16)

将“code”文件夹添加到Visual Studio

中的项目属性中

项目 - >属性 - >配置属性 - > C / C ++ - >其他包含目录

答案 1 :(得分:15)

将xyz.h文件移动到其他位置,以便预处理器可以找到它,或者更改#include语句,以便预处理器找到它已经存在的位置。

预处理器查找包含文件的位置描述为here。一种解决方案是将xyz.h文件放在预处理器将要跟踪该搜索模式的文件夹中。

或者,您可以更改#include语句,以便预处理器可以找到它。您告诉我们xyz.cxx文件位于'code'文件夹中,但您没有告诉我们您将xyz.h文件放在何处。假设您的文件结构如下所示......

<some folder>\xyz.h
<some folder>\code\xyz.cxx

在这种情况下,xyz.cxx中的#include语句看起来应该是这样的..

#include "..\xyz.h"

另一方面,假设您的文件结构如下所示......

<some folder>\include\xyz.h
<some folder>\code\xyz.cxx

在这种情况下,xyz.cxx中的#include语句看起来应该是这样的..

#include "..\include\xyz.h"

更新:另一方面,@ In silico在评论中指出,如果您使用的是#include <xyz.h>,则应该将其更改为#include "xyz.h"

答案 2 :(得分:3)

我在另一种情况下遇到了这个错误,为那些通过搜索到达的人发布了解决方案:在Visual Studio中,我从一个项目中复制了一个文件并粘贴到另一个项目中。结果是创建了一个符号链接,而不是一个实际的副本。因此,项目未按预期在当前工作目录中找到该文件。当我制作物理副本时,在Windows资源管理器中,突然#include "myfile.h"工作了。

答案 3 :(得分:0)

以下方法帮助了我。

步骤:

1.转到缺少的头文件所在的相应目录。 (在我的情况下,缺少.. / include / unicode / coll.h)并复制头文件所在的目录位置。(复制到include目录。)

2.右键单击解决方案资源管理器中的项目 - >属性 - >配置属性 - > VC ++目录 - >包含目录。  将复制的路径粘贴到此处。

3.这解决了我的问题。我希望这有帮助!

答案 4 :(得分:0)

这个问题可以通过安装以下独立组件轻松解决:

enter image description here