在vs中进行qt桌面应用开发时,编译器堆溢出的编译错误(error C1060编译器堆内存不足)

# 前言:

项目中遇见这种情况,刚开始以为是使用的静态或者[全局变量](https://so.csdn.net/so/search?q=%E5%85%A8%E5%B1%80%E5%8F%98%E9%87%8F&spm=1001.2101.3001.7020)等太多,导致堆不够用,后来发现是资源文件添加的图片太多了,我资源文件加起来一共20M左右

# []()一、错误现象

![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/d74dff089a404748af82d2453333112a~tplv-k3u1fbpfcp-zoom-1.image)

# []()二、错误原因分析

1、此次错误出现的原因:当在qt资源文件中加入过多图片时(22Mb),编译文件内容过大导致

2、本质原因:vs2019中[编译器](https://so.csdn.net/so/search?q=%E7%BC%96%E8%AF%91%E5%99%A8&spm=1001.2101.3001.7020)默认是32位的,当参与编译的文件过大时,将会导致编译器堆溢出

# []()三、应对方法

**1、** 若是在QtCreator中开发qt项目,因资源文件过大导致编译器堆溢出,那么可以 在项目 .pro 文件中修改配置:CONFIG += resources_big

**2、** 若是在Vs中进行项目开发时,编译提示编译器堆空间不足,那么可以打开项目的 .vcxproj 文件;找到 <PropertyGroup Label="Globals">节点,并在该节点下添加 <PreferredToolArchitecture>x64</PreferredToolArchitecture>,将默认使用32位的编译器更换位64位,此时编译则问题解决

  添加前:
    
```<PropertyGroup Label="Globals">  
<ProjectGuid>{B12702AD-ABFB-343A-A199-8E24837244A3}</ProjectGuid>  
<Keyword>Qt4VSv1.0</Keyword>  
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>  
</PropertyGroup>
```

  添加后:


```<PropertyGroup Label="Globals">  
<ProjectGuid>{B12702AD-ABFB-343A-A199-8E24837244A3}</ProjectGuid>  
<Keyword>Qt4VSv1.0</Keyword>  
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>

<PreferredToolArchitecture>x64</PreferredToolArchitecture>

</PropertyGroup>
```

转载自:[https://www.cnblogs.com/XiaoYouRen/p/14980093.html](url)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值