记录 UE5 完全重新构建 UE C++项目
创始人
2024-05-31 04:43:36
0

不知道搞了什么,C++项目的实时代码编译罢工了,搞了半天都修不好,只能又重建了

UE5 版本为 v5.1.1

删除以下文件夹

/Binaries
/Intermediate
/Saved

Binaries 文件夹是编译后的模块
Intermediate 文件夹里是中间层的C++代码,完全由ue5生成
Saved 是一些编辑器设定和日志

注意,以下的xxx为任意字符串

然后用 ue5 打开 xxx.uproject
打开后,提示我是否重建 xxx 模块,点确定,编译了几分钟。

提示编译失败,打开 /Saved/Logs/xxx.log ,里面是编译日志,观察到一句 IsRenderingThreadHealthy 代码无法找到链接符号。
以下是部分日志

  正在创建库 Y:\DrawFront2\Intermediate\Build\Win64\UnrealEditor\Development\DrawFront2\UnrealEditor-DrawFront2.lib 和对象 Y:\DrawFront2\Intermediate\Build\Win64\UnrealEditor\Development\DrawFront2\UnrealEditor-DrawFront2.exp
[15/20] Link UnrealEditor-DrawFront2.dll正在创建库 Y:\DrawFront2\Intermediate\Build\Win64\UnrealEditor\Development\DrawFront2\UnrealEditor-DrawFront2.suppressed.lib 和对象 Y:\DrawFront2\Intermediate\Build\Win64\UnrealEditor\Development\DrawFront2\UnrealEditor-DrawFront2.suppressed.exp
MyMsgPipeLib.cpp.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) bool __cdecl IsRenderingThreadHealthy(void)" (__imp_?IsRenderingThreadHealthy@@YA_NXZ),函数 "public: static class UTexture2D * __cdecl UMyMsgPipeLib::GetCurImage(class FString,int,int,bool &,int &,int &)" (?GetCurImage@UMyMsgPipeLib@@SAPEAVUTexture2D@@VFString@@HHAEA_NAEAH2@Z) 中引用了该符号
Y:\DrawFront2\Binaries\Win64\UnrealEditor-DrawFront2.dll : fatal error LNK1120: 1 个无法解析的外部命令
[16/20] Compile Module.RuntimeAudioImporter.cpp
[17/20] Link UnrealEditor-RuntimeAudioImporter.lib

屏蔽了所有 IsRenderingThreadHealthy 的代码。再次打开ue5进行编译。
这次编译成功了,但是又报了一个错误
游戏模块“xxx”无法被加载,可能存在的操作系统错误,模块可能未正确设置,或版本中包含的插件尚未开启。
在这里插入图片描述
搜索网络后,发现和想起来 我的C++项目链接了我其他的C++项目的dll作为依赖库,这些依赖库dll放在 /Binaries/Win64 里面
而它们在第一步被删掉了。
我把 我其他C++项目的 dll 再次复制到 /Binaries/Win64 里面

再次用 ue5 打开项目,终于行了,能打开了。
立刻用按钮 ue5菜单栏 -> 工具 -> 打开 Visual Studio ,打开C++ IDE
发现 xxx 项目没有找到。。。无法构建。。。此时VS项目不完整。

关闭 Visual Studio,然后点击 ue5菜单栏 -> 工具 -> 刷新 Visual Studio 项目,重建 VS 项目
再次用按钮 ue5菜单栏 -> 工具 -> 打开 Visual Studio ,打开 Visual Studio,这次VS项目终于完整了。

按下 Ctrl+Alt+F11 ,启动 实时代码编译,没有报错。

至此,UE C++ 项目完全重新构建完成。

相关内容

热门资讯

不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
保存时出现了1个错误,导致这篇... 当保存文章时出现错误时,可以通过以下步骤解决问题:查看错误信息:查看错误提示信息可以帮助我们了解具体...
表格中数据未显示 当表格中的数据未显示时,可能是由于以下几个原因导致的:HTML代码问题:检查表格的HTML代码是否正...
表格列调整大小出现问题 问题描述:表格列调整大小出现问题,无法正常调整列宽。解决方法:检查表格的布局方式是否正确。确保表格使...
不一致的条件格式 要解决不一致的条件格式问题,可以按照以下步骤进行:确定条件格式的规则:首先,需要明确条件格式的规则是...
本地主机上的图像未显示 问题描述:在本地主机上显示图像时,图像未能正常显示。解决方法:以下是一些可能的解决方法,具体取决于问...
汇川伺服电机位置控制模式参数配... 1. 基本控制参数设置 1)设置位置控制模式   2)绝对值位置线性模...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...