我正在开发一个需要大量小图像的Windows游戏,它们被放置在资源文件resources.qrc中,总大小达到14 MB。
当我尝试编译时,唯一的错误是:"内存分配134 MB时出现内存不足"和"找不到cc1plus.exe"。
我该如何处理这个问题?
当我尝试编译时,唯一的错误是:"内存分配134 MB时出现内存不足"和"找不到cc1plus.exe"。
我该如何处理这个问题?
Windows 7SP1 x86,4 GB RAM
Qt 5.7.0
我遇到了同样的问题,当我在Qt的资源中添加大文件时。我得到了以下错误:
cc1plus.exe:-1: error: out of memory allocating 1073745919 bytes
解决方法:
将 CONFIG += resources_big
添加到 *.pro
文件中。
我在这里找到了解决方法:cc1plus.exe: out of memory | 60MB encrypted resource file
我也曾遇到过这个问题。但在我的情况下,将所有资源放入.exe
是必要的。
在出现这个错误后,我购买了额外的内存(项目非常重要),然后我的内存从6 GB变成了12 GB。
但我很惊讶,因为错误并没有消失 :) 经过一些搜索,最终我找到了答案这里。问题是cc1plus.exe
可执行内存限制。因此,在Qt的情况下,可以通过以下步骤解决此问题(对于Windows 7、MinGW32 4.9.2,其他情况可能只需要更改路径):
bcdedit /set IncreaseUserVa 3072
cd C:\Qt\Tools\mingw492_32\libexec\gcc\i686-w64-mingw32\4.9.2
C:\masm32\bin\editbin.exe /LARGEADDRESSAWARE cc1plus.exe
就这样。