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

UE(虚幻)学习(一) UE5.3.2和VS2022的安装以及遇到的问题和一些CS8604、CA2017报错问题.

最近工作很多东西是UE搞的,工作安排上也稍微缓口气,来学学UE,因为同事都用的UE5.3,所以就从UE5.3开始吧,之前学习过UE4,放上两年什么都不记得了。还是需要做一些记录。
本来安装不想写什么,谁知道遇到很多问题,之前UE4不记得有这么多问题,网络搜了相关文章没有找到比较清晰的文章。

UE和VS2022的安装

UE5.3.2的安装

当前日期是2024、12月,5.3的最新版本是5.3.2
首先安装UE5.3.2,EPIC里安装就好了,具体可以参考官方的安装文档

首先官方说了,Unreal Engine (UE)旨在与Visual Studio (VS)无缝集成,多好啊。17.4 或更高版本,建议使用 17.6(默认),从 UE 5.2 开始,VS 2022 是用于编译虚幻引擎的默认 Visual Studio 版本。UE 5.4 将不再支持 Visual Studio 2019,而需要 Visual Studio 2022。

安装过程这里就不展示了,安装路径最好不是中文的,通常这是一个好的建议,我一般安装任何软件都是这样的。我的安装路径是D:\UE_5.3

VS2022的安装

官方文档我截图放上来。
在这里插入图片描述
需要勾选上面的,还有
Windows10 SDK ,
C++ profiling tools
C++ AddressSanitizer
Windows 10 SDK (10.0.18362 or Newer)
Unreal Engine installer
图中没有,我安装的比较多,还装了net9.0,因为我需要使用Unrealsharp的一个插件,用来使用C#程序。

VS2022编译报错困扰

在官方文档最后,VS2022设置需要关闭错误列表窗口,位于菜单->工具->选项->项目和解决方案->若生成完成时有错误,始终显示错误列表,把这个勾选去掉。
官方的解释是:
通常,当您的代码中出现错误时,错误列表窗口会自动弹出。但是,在使用 UE 时,错误列表窗口可能会显示错误的错误信息。在使用 UE 时,最好禁用错误列表窗口并使用输出窗口来查看真正的代码错误。以下步骤显示如何关闭错误列表窗口。
其实也就是不主动弹出错误窗口,在输出里还是能看到编译失败的,也没有什么。

但是困扰我的是我的程序就是有两个报错CS8604、CA2017,这是正常的错误,还是错误的错误。还是什么原因?貌似5.3.2有这个问题。

具体复现

我是这样做的,创建新的UE项目带C++的,或者蓝图项目里添加一个C++ Class,
在这里插入图片描述
这样就会有Source目录和sln文件,sln就是vs的解决方案文件,我们双击就可以用vs2022打开。
在这里插入图片描述
我们打开项目后,我们点击重新生成整个解决,就会看到报错,有时是两个,有时好几个,但是都有8604和2017。

在这里插入图片描述
可以看文章后面的报错参考。
到这里我一直在找安装的文章和视频,不知道什么问题,应该困惑了很多人,

最后确定了。
对,不是安装问题,也不是我们做错了什么,就是UE的问题,没错,我们要修改UE源码。我不敢相信我必须修改UE源代码,这句话也是UE论坛的网友so_toasty说的,我也不敢相信。
在这里插入图片描述

好吧,我们自己修改:
首先是CheckForHacks.cs文件,添加一个[{Arg0}]
在这里插入图片描述
然后是BgScriptReader.cs,判断以下users不是空
在这里插入图片描述
然后我们再次重新编译整个解决方案,全部成功。
在这里插入图片描述

最后感慨

我不得不感慨几句
不是虚幻难学,也不是C++难学。而是虚幻的这种态度,这个5.3.2版本已经很久了,我电脑上也装了很久了,怎么不修复呢,难道就因为是免费的?让初学者难以迈出第一步?真是大厂的傲慢。

安装参考
https://dev.epicgames.com/community/learning/tutorials/G3Z6/setting-up-visual-studio-2022-for-unreal-engine-5

报错参考
https://forums.unrealengine.com/t/error-compiling-the-automation-tool-after-updating-visual-studio-today-unreal-5-3-2/1393088/18


http://www.kler.cn/a/456131.html

相关文章:

  • 【Vue】如何在 Vue 3 中使用组合式 API 与 Vuex 进行状态管理的详细教程
  • 云计算服务中 数据的所有权是谁的
  • 【HarmonyOS】鸿蒙arrayBuffer和Uint8Array互相转化
  • 2022博客之星年度总评选开始了
  • Spring自动化创建脚本-解放繁琐的初始化配置!!!(自动化SSM整合)
  • UGUI简单动画制作
  • HIVE数据仓库分层
  • 华为麦芒5(安卓6)termux记录 使用ddns-go,alist
  • 部分背包问题
  • 504 Gateway Time-out nginx如何处理
  • dell g7重装系统后无法识别耳机
  • springboot503基于Sringboot+Vue个人驾校预约管理系统(论文+源码)_kaic
  • Visual Studio 2022 QT5.14.2 环境下缺少pro文件以及QT库或模块的引用问题
  • 【蓝桥杯——物联网设计与开发】拓展模块5 - 光敏/热释电模块
  • LabVIEW生物发酵远程在线监控
  • ORB-SLAM2源码学习:System.cc: System::TrackStereo、TrackRGBD、TrackMonocular追踪器接口
  • 《中国旅游报》投稿指南
  • Java测试开发平台搭建(六)持久化之mybatis配置
  • 路由反射器
  • 强化学习寻宝游戏
  • C#使用Tesseract C++ API过程记录
  • 【Unity3D】Particle粒子特效或3D物体显示在UGUI上的方案
  • 【电子通识】拆解支付宝碰一碰卡片
  • 现代网络负载均衡与代理导论
  • Android着色器SweepGradient渐变圆环,Kotlin
  • 【C++ 真题】P5733 【深基6.例1】自动修正