visual studio 编译器的堆空间不足问题的解决

情景分析

情况一:如果你是visual studio 组织工程

解决办法:打开xxx.vcxproj文件,搜索“Globals”在文件中找到<PropertyGroup Label=“Globals”, 然后在这个节点的最后加一句

<PreferredToolArchitecture>x64</PreferredToolArchitecture>

情况二:如果你是cmake构建visual studio工程

如何在camke中添加语句实现visual studio xxx.vcxproj文件添加x64如下:

有问题的cmake指令如下:

cmake -G "Visual Studio 14 2015" -A x64 '<cmake源码目录>'

使用64位的cpp编译器的解决方法如下:

# -T host=x64 来指定默认的cpp编译器为64位的。
cmake -G "Visual Studio 14 2015" -A x64 -T host=x64 '<cmake源码目录>'

注意: cmake的GUI并没有-T host的选择,当然最新版的GUI可能也会加这个。。

问题本质

就是windows操作系统visual studio的默认cpp编译器是32位的,所以最大内存是4G,就容易导致编译器内存不足。

实际问题解决

笔者QT 项目中发现这个由于.qrc中包含了.tff字体文件导致编译visual studio内存爆增,将字体文件移除*.qrc文件中,以文件方式放到程序根目录加载使用,从根本上解决这个问题。

参考

1.visual studio 编译器的堆空间不足问题的解决(cmake版本)

2.解决fatal error C1060: 编译器的堆空间不足(详解)

posted @ 2024-05-13 11:29  焦涛  阅读(3562)  评论(0)    收藏  举报