问题:QT项目debug可以正常运行,release下不能运行并报错cc1plus.exe:-1: error: out of memory allocating 35884776 bytes。
解决方案1:可能是由于静态资源(图片等)过大。在项目的.pro文件中添加
CONFIG += resources_big 这边添加后无法解决我的问题
解决方案2:可能由于 初始化参数空间过大 / 函数过长 导致。这种不想改动代码的情况下,就需要调大编译的内存。
下面是网上找的,但是第二行命令中我没有这个目录,导致第三条命令执行后显示editbin系统无法识别
bcdedit /set IncreaseUserVa 3072
cd C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin
editbin /LARGEADDRESSAWARE "C:\SysGCC\raspberry\libexec\gcc\arm-linux-gnueabihf\4.9\cc1plus.exe"
既然找不到上面的目录,我直接在文件管理器中全局搜索了editbin.exe这个可执行软件,最后在VS Studio下找到了,按照我的方法,就需要去下载Visual Studio。
那现在就很方便了,直接在地址栏输入cmd回车,并执行
bcdedit /set IncreaseUserVa 3072
editbin /LARGEADDRESSAWARE "D:\QT\Tools\mingw730_32\libexec\gcc\i686-w64-mingw32\7.3.0\cc1plus.exe"
这里的cc1plus文件,如果实在找不到,可以先打开任务管理器,然后执行release下的项目,会在qt下产生一个cc1plus.exe的子进程。然后右击该子进程,找到打开文件所在位置,就可以了。