【发布时间】:2012-03-17 21:29:51
【问题描述】:
我正在运行 Visual Studio C++,并且我有一个头文件“GameEngine.h”,我正试图让另一个文件看到。
当我#include "GameEngine.h" 时,它给了我无法打开源文件的错误。我不知道该怎么做。我已经做了一千次了,但由于某种原因,这现在不起作用。
【问题讨论】:
我正在运行 Visual Studio C++,并且我有一个头文件“GameEngine.h”,我正试图让另一个文件看到。
当我#include "GameEngine.h" 时,它给了我无法打开源文件的错误。我不知道该怎么做。我已经做了一千次了,但由于某种原因,这现在不起作用。
【问题讨论】:
您需要检查您的项目设置,在 C++ 下,检查 include 目录 并确保它指向 GameEngine.h 所在的位置,另一个问题可能是 @ 987654322@ 不在您的源文件文件夹或任何包含目录中,并且位于相对于您的项目文件夹的不同文件夹中。例如,您有 2 个项目 ProjectA 和 ProjectB,如果您在 ProjectA 的某个源/头文件中包含 GameEngine.h,那么要正确包含它,假设 ProjectB 在同一个父文件夹中,请执行此操作:
include "../ProjectB/GameEngine.h"
如果你有这样的结构:
根\ProjectA
Root\ProjectB
【讨论】:
以防万一有人像我一样有点新,请仔细检查您的标题文件夹拼写是否正确。
例如:
<#include "Component/BoxComponent.h"
这将导致错误。相反,它需要是:
<#include "Components/BoxComponent.h"
【讨论】:
让我感到惊讶和惊讶的是,在继承的项目中,它所引用的文件在项目文件夹之外的相对路径上被引用,但仍存在于项目文件夹中。
在解决方案资源管理器中,单击每个出现错误的文件,打开属性窗口(右键单击,属性),并确保“相对路径”只是文件名(例如MyMissingFile.cpp),如果它在项目文件夹。就我而言,它设置为:..\..\Some Other Folder\MyMissingFile.cpp。
【讨论】:
这是谷歌搜索“无法打开源文件”时的最佳结果,所以我想我会分享我的问题,因为我已经包含了正确的路径。
我不确定其他 IDE 或编译器,但至少对于 Visual Studio,请确保包含目录列表中没有空格。我在最后一个条目的 ; 和我的新条目的开头之间放置了一个空格,这导致 Visual Studio 忽略了我的包含。
【讨论】:
对于编写 CUDA 程序的人,您还需要在项目属性下的 CUDA C/C++ 选项卡下配置 Additional Include Directories。
【讨论】:
让虚幻引擎完成这项工作。
全部关闭,右键单击您的项目文件 (.uproject),
“生成 VisualStudio 项目文件”。
【讨论】:
#include "DestructibleMesh.h"
【讨论】: