Visual Studio 错误:无法打开源文件““

l7mqbcuq  于 2023-02-13  发布在  其他
关注(0)|答案(8)|浏览(534)

我正在运行Visual Studio C++,我有一个头文件“GameEngine.h”,我试图让另一个文件看到。
当我#include“GameEngine.h”时,它给我一个错误,它无法打开源文件。我不知道该怎么做。我已经这样做了一千次,但由于某种原因,现在不工作了。

tktrz96b

tktrz96b1#

您需要检查您的项目设置,在 C++ 下,检查 include directories 并确保它指向GameEngine.h所在的位置,另一个问题可能是GameEngine.h不在您的源文件文件夹或任何include目录中,而是位于与您的项目文件夹不同的文件夹中。例如,您有两个项目ProjectAProjectB,如果你在ProjectA的一些源文件/头文件中包含GameEngine.h,那么为了正确地包含它,假设ProjectB在同一个父文件夹中,请执行以下操作:

include "../ProjectB/GameEngine.h"

如果你有这样一个结构:
根\项目A
根目录\项目B〈-GameEngine. h实际上位于此处

ws51t4hk

ws51t4hk2#

以防万一有一个像我一样有点新的人在那里,仔细检查你拼写你的标题文件夹正确。
例如:

<#include "Component/BoxComponent.h"

这将导致错误。相反,它需要:

<#include "Components/BoxComponent.h"
insrf1ej

insrf1ej3#

有一件事让我很惊讶,那就是在继承的项目中,它所引用的文件是在项目文件夹之外的相对路径上引用的,但却存在于项目文件夹中。
在解决方案资源管理器中,单击每个出现错误的文件,打开属性窗口(右键单击,属性),并确保"相对路径"只是文件名(例如,MyMissingFile.cpp),如果它在项目文件夹中。..\..\Some Other Folder\MyMissingFile.cpp.

vsikbqxv

vsikbqxv4#

这是谷歌搜索“无法打开源文件”时的最高结果,所以我想我应该分享我的问题是什么,因为我已经包括了正确的路径。
我不确定其他IDE或编译器,但至少对于Visual Studio,请确保包含目录列表中没有空格。我在最后一个条目的;和新条目的开头之间放置了空格,这导致Visual Studio忽略我的包含。

vwkv1x7d

vwkv1x7d5#

对于正在编写CUDA程序的用户,您还需要在项目属性下的CUDA C/C++选项卡下配置 * 附加包含目录 *。

m3eecexj

m3eecexj6#

在我的例子中,编译器无法找到“丢失”的文件,但可以在Visual Studio的解决方案资源管理器中查看和编辑。问题是该文件的文件路径太长(总共233个字符,几乎达到Windows的限制)。将整个项目移回几个子目录为我修复了这个问题。

1hdlvixo

1hdlvixo7#

让Unreal来完成这项工作。关闭所有,右键单击您的项目文件(.uproject),
生成VisualStudio项目文件"。

ki0zmccv

ki0zmccv8#

1.复制文件的内容,
1.创建一个.h文件,给予原始.h文件的名称
1.将原始文件的内容复制到新创建的文件
1.建造它
1.哇!

相关问题