致命错误C1083:无法打开包含文件

问题描述:

我看着以前的帖子基于此,但他们没有关系。我收到以下错误。致命错误C1083:无法打开包含文件

1>c:\users\numerical25\desktop\intro todirectx\introtodirectx\chapter 4\init direct3d\init direct3d.cpp(9) : fatal error C1083: Cannot open include file: 'd3dApp.h': No such file or directory 

但显然从图像如下图所示,它的存在

alt text

在反对谁是有发现的物理驱动器上的标题问题的其他人。编译器无法从解决方案资源管理器中找到我的头文件。

您在IDE的左侧窗格中看到的内容与该文件是否在那里完全无关。 “解决方案资源管理器”不会探索文件系统中存在的实际文件,它只是显示哪些文件是已注册作为此解决方案的一部分。

为了编译代码,文件必须存在于您的计算机的文件系统中的某个路径中,该路径指定为此解决方案的头文件的搜索路径。它不存在,因此错误。

+0

好的,你说的话有很多意义,但我对接下来做什么感到困惑。我应该创建一个名为Headers的文件夹,并将头文件放在其中。然后将其添加到包含目录?我一直认为解决方案资源管理器中的所有文件都是嵌入到项目中的物理文件。 – numerical25 2010-04-13 14:14:02

+0

好的,我将头文件添加到了我的.sln文件的根文件夹,现在可以找到它们。 – numerical25 2010-04-13 15:54:26

解决方案视图和文件视图有时没有关系;添加到解决方案视图的每个文件都是xml文件中的一个条目。 #include指令通常在查看包含路径后查看物理驱动器的位置。

我的建议是将direct3d.h include路径添加到项目的设置中。这是推荐的方式,因为它可以轻松升级到较新版本的SDK(对于任何外部库来说这是一个很好的做法)。

+0

好的,但我遇到了d3dApp.h问题。这是一个自定义的标题,我把它放在标题文件夹中。他们VS为我自动创建了这个Header文件夹。那么为什么它很难找到我放入的头文件。 – numerical25 2010-04-13 14:11:11

确保标题所在的目录包含在项目设置中(C/C++ →常规→其他包含目录)。

+0

标题位于解决方案资源管理器中的Header文件夹中。物理驱动器上的.sln文件附近没有任何头文件夹。当我去附加包含时,它只允许我搜索物理驱动器上的文件夹。上图中的Header文件夹只能在.sln中找到。 – numerical25 2010-04-13 14:08:10

+0

为我工作!谢谢。 – 2011-09-25 00:11:24