UE4.27.2 源码使用 VS2022 编译时出现的错误的解决方法

这篇具有很好参考价值的文章主要介绍了UE4.27.2 源码使用 VS2022 编译时出现的错误的解决方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Error C4834 discarding return value of function with ‘nodiscard’ attribute

Fstring 的获得指针的函数是 nodiscard 的,但是目前这个表达式是可能 discard 的

https://forums.unrealengine.com/t/build-from-source-fails-with-errors-c4834-and-msb3073/1266696/4

Windows SDK 的问题

我遇到的错误如下

Severity	Code	Description	Project	File	Line	Suppression State
Error	C4668	'_NOEXCEPT_TYPES_SUPPORTED' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'	UE4	C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\winrt\wrl\event.h	211	
Error	C4668	'__cpp_noexcept_function_type' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'	UE4	C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\winrt\wrl\event.h	211	
Error	C4668	'_NOEXCEPT_TYPES_SUPPORTED' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'	UE4	C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\winrt\wrl\event.h	371	
Error	C4668	'__cpp_noexcept_function_type' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif'	UE4	C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\winrt\wrl\event.h	371	
Error	MSB3073	The command "..\..\Build\BatchFiles\Build.bat -Target="UE4Editor Win64 Development" -Target="ShaderCompileWorker Win64 Development -Quiet" -WaitMutex -FromMsBuild" exited with code 6.	UE4	E:\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.MakeFile.Targets	44	

这应该是说明 10.0.22621.0 是不适用的

我在网上看到了别人的解决办法是只保留 Win 10 的 SDK,不要 Win 11 的 SDK

https://zhuanlan.zhihu.com/p/584575858

因为我觉得直接修改所有项目要求的 Windows SDK 版本也是一样的效果,所以一开始我没有卸载 Win 11 的 SDK,然后企图使用重定向的那个功能来更改版本

但是失败了……即使点了确定,再次打开重定向窗口显示的仍然是旧版本

上网看了,这个 VS 的 Bug 有一段时间了

vcxproj 也不是只读的,所以应该是 VS 内部的问题

这个解决方案有七十多个项目,如果要一个一个去 vcxproj 里面改版本,那就累死……

于是我还是把 Win 11 的 SDK 删了,这样他就会默认用我 Win 10 的

然后他说要重启电脑,重新运行 Setup.bat 和 GenerateProjectFiles.bat,这个我没有,我就可以直接开始 build UE4 项目了

花的时间还是很长的……

compiler heap 不足的问题

最后是能编译,但是等了一个小时左右之后,报错说 compiler heap 不足

一开始我想的是把虚拟内存调大一点,但是我设置了之后没有反应,于是我想查查别的方法

于是查到了

https://ue5wiki.com/wiki/5cc4f8a/

把工程中的 BuildConfiguration.xml 修改一下就好了文章来源地址https://www.toymoban.com/news/detail-729004.html

<?xml version="1.0" encoding="utf-8" ?>
<Configuration xmlns="https://www.unrealengine.com/BuildConfiguration">
    <WindowsPlatform>
        <PCHMemoryAllocationFactor>1000</PCHMemoryAllocationFactor>
    </WindowsPlatform>
    <LocalExecutor>
        <MaxProcessorCount>60</MaxProcessorCount>
    </LocalExecutor>
    <ParallelExecutor>
        <MaxProcessorCount>60</MaxProcessorCount>
    </ParallelExecutor>
</Configuration>

到了这里,关于UE4.27.2 源码使用 VS2022 编译时出现的错误的解决方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 关于UE4/UE5 无法正确使用VS2019进行编译运行(乱码报错)

            这是一个让我百思不得其解的问题,无论是上网查资料还是怎样去调整设置。总是感觉无法正确、彻底的解决。         通过学习,发现问题唯一的根源其实是VS的语言设置与你电脑系统的语言设置不兼容。我们只需要对系统的区域语言进行更改即可正常运行。如果

    2024年02月11日
    浏览(32)
  • UE4.27 编译及打包HTML5相关资料

    https://docs.unrealengine.com/4.27/zh-CN/SharingAndReleasing/HTML5/GettingStarted/ UE4.27可以打包HTML5啦 https://github.com/Xi3Chen/UE4.27PackingH5DDoc https://blog.csdn.net/mrbaolong/article/details/131732174?spm=1001.2014.3001.5501

    2024年02月13日
    浏览(33)
  • UE4_UE5源码编译及发布LinuxServer

    :::tip 情景内容 需要开发专用服务器 需要将Server发到云端Linux系统主机 需要关闭SSH,服务一直启用 需要使用UE4 ::: :::danger UE5.1补充内容 准备UE5.1 源码 准备VS2022 准备Linux交叉编译器-v20版本 ::: 1. Visual Studio 2019 1.1 下载 Visual Studio :::warning UE4 编译源码可以使用 VS2022 ,但就此博客

    2024年02月07日
    浏览(29)
  • 虚幻引擎UE4源码编译安装(x86,arm64平台)

    (1)关于运行Setup.sh脚本,mono报错,详情截图如下: 分析:不能执行二进制文件mono,根据错误提示找到源码中涉及到具体执行语句为: “mono Engine/Binaries/DotNET/GitDependencies.exe $ARGS”         GitDependencies.exe可执行文件的作用在线下载UE依赖库,而mono是跨平台.net运行环境,

    2024年02月06日
    浏览(83)
  • VS2022编译安装Qt6.5源码

    包括安装VS2022,Windows SDK,Python3,这里就不再一一介绍了,需要说明的一点是如果要编译 QtWebEngine 和 QtPdf 两个组件的依赖问题,当然如果不需要,也可以不管它,则不会编译。 python库 html5lib : 使用 pip install html5lib 安装。 gperf、bison、flex 如果安装有Qt 5的Windows版本,比如

    2024年02月04日
    浏览(56)
  • Jpeg-9e源码编译(Win10,VS2022)

    Jpeg-9e源代码下载网址 http://www.ijg.org/ 下载后得到文件 解压缩到“D:SourceCodesjpeg-9e” 在目录“D:SourceCodesjpeg-9e”中创建文本文件,并改名为“win32.mak”,其内容如附注所示。 使用命令行,进入VS2022开发者命令行窗口 cd D:ProgramsMicrosoft Visual Studio2022CommunityVCAuxiliaryBuild D

    2024年02月04日
    浏览(45)
  • ubuntu18.04源码编译安装carla0.9.13,关联UE4.26虚幻引擎账号

    参考博客:https://www.cnblogs.com/chenjian688/p/16624095.html 查看推荐显卡 找到recommended推荐的版本,本机是470版本。 本机是470版本 如果安装失败,需要在安装之前进行 sudo apt-get update 指令 同时为了避免UE和 CARLA 依赖项之间的兼容性问题,使用相同的编译器版本和 C++ runtime library来编

    2024年02月14日
    浏览(39)
  • (UE4 4.27) UHierarchicalInstancedStaticMesh(HISM)原理分析

    游戏开发中的植被管理一直是个棘手的问题,因为植被数量庞大,对于剔除(CPU)和渲染(GPU)都存在很大的压力。 UE4的植被有一套独特的管理方式, 是基于 UHierarchicalInstancedStaticMeshComponent组件实现了植被的视椎体剔除和合批渲染。 UFoliageInstancedStaticMeshComponent下面简称FSM. UHierarc

    2024年02月09日
    浏览(35)
  • 理解Keil编译器中编译程序时出现的Code、RO-data、RW-data和ZI-data的含义

    ** ** STM32单片机在keil开发环境下编译完成后,会显示: Program Size: Code=xxxx RO-data=xxxx RW-data=xxxx ZI-data=xxxx 编译后的显示窗口如图所示: 其中Code、RO-data、RW-data和ZI-data是什么意思呢? Code:代表执行的代码,程序中所有的函数; RO-data:代表只读数据(Read Only Data),程序中所定义

    2024年02月16日
    浏览(34)
  • 使用git时出现的一些问题整理

    目录 一、解决fatal: detected dubious ownership in repository at \\\'D:/resource/git项目\\\' 二、解决error: failed to push some refs to \\\'https://gitee.com/yantianzi/roadlink\\\'hint: Updates were rejected because the remote contains work that you do 报错 : 解决方法 :注意看红框提示 只需要再输入上面的命令即可,  ok,解决。

    2024年02月15日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包