当前位置: 首页 > news >正文

记录 UE5 完全重新构建 UE C++项目

不知道搞了什么,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++ 项目完全重新构建完成。

http://www.lryc.cn/news/35526.html

相关文章:

  • java版云HIS系统源码 微服务架构支持VUE
  • 苹果内购支付检验错误码
  • day27_css
  • 智慧赋能,聚力开源——第四届OpenI/O 启智开发者大会开源治理专场顺利举办!
  • Java工程师应该如何成长?
  • 【数据分析师求职面试指南】必备编程技能整理之Hive SQL必备用法
  • Maven - Linux 服务器 Maven 环境安装与测试
  • 5G模块可以注册到4G,不能注册到5G;SIM卡接到5G手机是可以注册到5G网络的?
  • 宝塔webhook自动化打包vue项目时,npm不生效问题
  • 嵌入式 Linux进程间通信之信号量
  • 谷粒学院开发(一):基础准备
  • Photoshop如何安装ZXP扩展插件?
  • c++面试技巧-基础篇4
  • openEuler用户软件仓(EUR)介绍
  • MySQL的图形化界面开发工具DataGrip的下载安装
  • Azure Portal 访问安全性增强
  • mysql安全值守数据库常用语句
  • CSS快速入门
  • emq-docker安装配置
  • Bean三种实例化方式的底层原理
  • java25种设计模式之适配器模式
  • 【微服务】—— 初识微服务
  • Unity使用webSocket与服务器通信(二)——C#服务器端使用Fleck时的简单服用方法
  • 【Linux】线程概念 | 线程控制
  • pocsuite3安装及使用
  • docker从安装到部署一个项目
  • QT编程从入门到精通之十二:“第四章:Qt程序创建基础”之“4.1 创建基础程序”
  • 黑客入门教程【非常详细】从零基础入门到精通,看这一篇就够了!
  • 手机怎么远程控制腾讯云云服务器?
  • dorcker与vlu靶场搭建