【问题标题】:fatal error C1083: Cannot open include file致命错误 C1083:无法打开包含文件
【发布时间】:2011-02-07 11:23:46
【问题描述】:

我基于此查看了以前的帖子,但它们不相关。我收到以下错误。

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

但从下图可以清楚地看出,它就在那里

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

【问题讨论】:

    标签: visual-c++ include projects-and-solutions


    【解决方案1】:

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

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

    【讨论】:

    • 好的,但是我遇到了 d3dApp.h 的问题。这是我放在 headers 文件夹中的自定义标题。他们 VS 自动为我创建了这个 Header 文件夹。那么为什么很难找到我放入其中的头文件。
    【解决方案2】:

    确保标头所在的目录包含在项目的设置中(C/C++ → 常规 → 附加包含目录)。

    【讨论】:

    • 标头位于解决方案资源管理器的标头文件夹中。物理驱动器上的 .sln 文件附近没有任何头文件夹。当我转到其他包含时,它只允许我搜索物理驱动器上的文件夹。上图中的Header文件夹只能在.sln中找到
    【解决方案3】:

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

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

    【讨论】:

    • 好的,你说的很有道理,但我对下一步该怎么做有点困惑。我是否应该创建一个名为 Headers 的文件夹并将头文件物理放入其中。然后将其添加到包含目录中??我一直认为解决方案资源管理器中的所有文件都是嵌入到项目中的物理文件。
    • 好的,我将标题添加到我的 .sln 文件所在的根文件夹中,现在可以找到它们。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多