我正在运行visual studio C ++,我有一个头文件“GameEngine.h”,我试图让另一个文件看到。
当我#include“GameEngine.h”时,它给我一个错误,它无法打开源文件。我不知道该怎么做。我已经完成了这一千次,但由于某种原因,这现在无法正常工作。
答案 0 :(得分:39)
您需要检查项目设置,在 C ++ 下,检查包含目录并确保它指向GameEngine.h
所在的位置,另一个问题可能是GameEngine.h
不在源文件文件夹或任何包含目录中,并且位于相对于项目文件夹的其他文件夹中。例如,如果您在ProjectA
中的某个源/头文件中包含ProjectB
,那么您有2个项目GameEngine.h
和ProjectA
,然后将其正确包含在内,假设{{1}在同一个父文件夹中执行此操作:
ProjectB
如果你有这样的结构:
根\项目A
Root \ ProjectB< - GameEngine.h实际上就住在这里
答案 1 :(得分:1)
以防万一有人像我这样新来的人,请仔细检查一下您是否正确拼写了标头文件夹。
例如:
<#include "Component/BoxComponent.h"
这将导致错误。相反,它必须是:
<#include "Components/BoxComponent.h"
答案 2 :(得分:0)
让虚幻引擎去做。
关闭所有,右键单击您的项目文件(.uproject),
“ 生成VisualStudio项目文件”。
答案 3 :(得分:0)
答案 4 :(得分:0)
让我感到惊讶和惊奇的是,在一个继承的项目中,它所引用的文件在项目文件夹之外的相对路径上被引用,但仍存在于项目文件夹中。
在解决方案资源管理器中,单击每个带有错误的文件,打开“属性”窗口(右键单击,属性),并确保“相对路径”只是文件名(例如MyMissingFile.cpp
)(如果有)在项目文件夹中。就我而言,它设置为:..\..\Some Other Folder\MyMissingFile.cpp
。
答案 5 :(得分:0)
这是谷歌搜索“无法打开源文件”时的最佳结果,所以我想我将分享我的问题,因为我已经包含了正确的路径。
我不确定其他IDE或编译器,但至少对于Visual Studio不确定,请确保包含目录列表中没有空格。我在最后一个条目的;
和新条目的开头之间留了一个空格,这之后Visual Studio忽略了我的包含。