Visual Studio或UE里面运行编译项目显示:c1xx : error C3859: Failed to create virtual memory for PCH
最近一个周都在跟着UE4.27的官方文档学习,到了创建第一个C++代码的时候,出现了本次标题将要解决的问题,我在网上查了很多资料,的确解决了,但是都是零零散散的,所以我在这里整合了一下所有的解决方案。如果对你有帮助,我会非常高兴!(注:我使用的是VS2022 + UE4.27版本。
前言:
最近一个周都在跟着UE4.27的官方文档学习,到了创建第一个C++代码的时候,出现了本次标题将要解决的问题,我在网上查了很多资料,的确解决了,但是都是零零散散的,所以我在这里整合了一下所有的解决方案。如果对你有帮助,我会非常高兴!(注:我使用的是VS2022 + UE4.27版本
解决方法一:
来自一个乎乎的好人:编译UE4时error C3859: 超过了 PCH 的虚拟内存范围问题解决 - 知乎 (zhihu.com)
第一步:右键点击Game文件夹下的我们运行Build的项目,选择最后的properties(属性,特性)
第二步:按照我的上面选择Debugging,并在Command Arguments的后面那一串系统命令符后面添加:-Zm 1000;
第三步,重启电脑,再打开VS2022来运行我们将要Build的项目,应该就可以了。这个方法确实解决了一定的问题,但是我每创建一个项目就要按照这样的方法重启一遍,这显然不现实。所以就有了下面这个方法。
解决方法二:
intro:为什么会出现这个问题(c1xx : error C3859: Failed to create virtual memory for PCH):其实这已经解释得很清楚了,本质上就是没能为PCH创建虚拟内存,也就是我们系统默认的虚拟内存已经不够用了,所以我们在网上找到扩展虚拟内存的方法,就可以解决了。
这里给出两篇推荐关于PCH以及 -Zm指令的官方学习文档(请务必相信官方文档就是最好的学习材料)
/Zm(指定预编译标头的内存分配限额) | Microsoft Learn
Precompiled Header (PCH) issues and recommendations - C++ Team Blog (microsoft.com)
步入正题:如何扩大我们的虚拟内存
步骤一:查看我们的内存(RAM)是多大的? 右键点击桌面此电脑图标选择属性,在弹出来的面板中就可以找到我们机器自带多少RAM。通常我们需要将虚拟内存设置为RAM大小的1.5倍或者2备。以我的RAM:16GB为例子,虚拟内存就可以设置为16GB(16384MB)或者32GB(32768MB)
步骤二:正式开始设置虚拟内存
- 在Windows桌面上,右击“此电脑”或“计算机”,选择“属性”。
- 在左侧菜单中,选择“高级系统设置”。
- 在“高级”选项卡下,点击“性能”区域中的“设置”按钮。
- 在新弹出的窗口中,选择“高级”选项卡,然后点击“更改”按钮。
- 取消选中“自动管理分页文件大小”选项。
- 选择“自定义大小”,然后输入初始大小(MB)和最大大小(MB)。
- 点击“设置”和“确定”保存设置。
以下是我的虚拟内存大小设置(仅供参考)
通过以上的设置,本次标题的问题就已经解决了。希望对你有帮助,我们下个文章再见!
更多推荐
所有评论(0)