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