前言:

最近一个周都在跟着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)

 步骤二:正式开始设置虚拟内存

  1. 在Windows桌面上,右击“此电脑”或“计算机”,选择“属性”。
  2. 在左侧菜单中,选择“高级系统设置”。
  3. 在“高级”选项卡下,点击“性能”区域中的“设置”按钮。
  4. 在新弹出的窗口中,选择“高级”选项卡,然后点击“更改”按钮。
  5. 取消选中“自动管理分页文件大小”选项。
  6. 选择“自定义大小”,然后输入初始大小(MB)和最大大小(MB)。
  7. 点击“设置”和“确定”保存设置。

以下是我的虚拟内存大小设置(仅供参考)

通过以上的设置,本次标题的问题就已经解决了。希望对你有帮助,我们下个文章再见!

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐