C++ Qt编译错误:";内存不足,分配134 MB“&引用;找不到cc1plus.exe“;

C++ Qt编译错误:";内存不足,分配134 MB“&引用;找不到cc1plus.exe“;,c++,qt,C++,Qt,我正在开发一个Windows游戏,需要很多不同的小图片,我把它们放在参考资料中。qrc,它们总共有。14MB 当我尝试编译时,唯一的错误是:“内存不足,分配134 MB”“未找到cc1plus.exe” 如何处理此问题?不要将它们放在qrc中,将它们作为单独的资源(或每个映像的新qrc文件)保存,并在应用程序启动时加载它们。Qt生成一个qrc_XXXXX.cpp文件,在该文件中以字符数组的形式有效地插入资源文件XXXXX中所有资源的二进制数据(是的,一个数组用于14MB的图像,即1468064字

我正在开发一个Windows游戏,需要很多不同的小图片,我把它们放在参考资料中。qrc,它们总共有。14MB

当我尝试编译时,唯一的错误是:“内存不足,分配134 MB”“未找到cc1plus.exe”


如何处理此问题?

不要将它们放在qrc中,将它们作为单独的资源(或每个映像的新qrc文件)保存,并在应用程序启动时加载它们。Qt生成一个qrc_XXXXX.cpp文件,在该文件中以字符数组的形式有效地插入资源文件XXXXX中所有资源的二进制数据(是的,一个数组用于14MB的图像,即1468064字节(以十六进制(0xXX)字节写入一个文件…它会很大!),极有可能是拙劣的编译器对它们嗤之以鼻…

好吧,我也有这个问题。但在我的情况下,将所有资源放入
.exe
是必要的

在这个错误之后,我购买了额外的RAM(项目非常重要),然后我的RAM变成了12GB(从6GB)

但当错误并没有消失时,我感到非常惊讶:)在谷歌搜索了一下之后,我终于找到了答案。问题是
cc1plus.exe
可执行内存限制。因此,对于Qt,可以通过以下步骤解决此问题(对于Windows 7,MinGW32 4.9.2,对于其他用户,可能只需要更改路径):

  • 如果您的操作系统是32位的,那么在cmd(作为管理员)中放入
    bcdedit/set IncreaseUserVa 3072
  • 安装
  • 打开cmd(也作为管理员)
  • 放置
    cd C:\Qt\Tools\mingw492\u 32\libexec\gcc\i686-w64-mingw32\4.9.2
  • 放置
    C:\masm32\bin\editbin.exe/largeaddressware cc1plus.exe

  • 仅此而已。

    Windows 7SP1 x86 4 GB RAM

    Qt 5.7.0

    当我在Qt的参考资料中添加大文件时,我也遇到了同样的问题。我有一个错误:

    cc1plus.exe:-1:错误:分配1073745919字节的内存不足

    解决方案:

    CONFIG+=resources\u big
    添加到
    *.pro
    文件中


    我把它带到这里:

    @fritzone谢谢你的回答,我不知道没有qrc如何加载我的文件,因为我总是使用它。你能给我一个链接或一些代码吗?非常感谢。相关(可能重复,也可能不重复)-UTF-16编码源文件:谢谢,我花了很长时间才意识到,您需要editbin.exe在win32可执行文件上设置LargeAddressWare标志。也可以使用windows 10/Qt5.11