递归火山软件开发平台

标题: 编译器的堆空间不足 [打印本页]

作者: boxxie    时间: 2026-1-2 16:50
标题: 编译器的堆空间不足
.\vol_app_static_data.cpp(31): fatal error C1060: 编译器的堆空间不足

这下无出个问题来了.VS编译不报这个问题.
牛牛们,请问火山这个问题要怎么处理呢?
网上说改成 [backcolor=rgba(245, 246, 249, 0.5)]/Zm500

[backcolor=rgba(245, 246, 249, 0.5)]不知道在那里改哟.

作者: Xelloss0618    时间: 2026-1-3 01:06
应该是有一个常量占用的内存太大了,编译器默认的堆空间是1mb,也不建议改吧
作者: boxxie    时间: 2026-1-3 10:39
Xelloss0618 发表于 2026-1-3 01:06
应该是有一个常量占用的内存太大了,编译器默认的堆空间是1mb,也不建议改吧 ...


这个问题好像坛里没人问过
哈哈............
作者: boxxie    时间: 2026-1-3 17:53
:噜阿噜
这么严重的问题,竟然没有理会
哈哈............
作者: z414041993    时间: 2026-1-7 02:30
我去啊   我也被这个问题困扰  我用c++写的东西啥事没有  ,他这个编译就报堆空间不足,楼主要是解决了 ,喊我一下啊
作者: boxxie    时间: 2026-1-7 09:28
z414041993 发表于 2026-1-7 02:30
我去啊   我也被这个问题困扰  我用c++写的东西啥事没有  ,他这个编译就报堆空间不足,楼主要是解决了 , ...


这种问题只能大牛来,我们这种小菜处理不了的
所以说火山的路还很长呀.
这种问题都没人处理.哈哈............
作者: Xelloss0618    时间: 2026-1-7 10:11
查了一下,这是编译器内存不足啊……
你电脑的内存不大吧?还是说用的32位系统?
那个编译参数你可以在【项目属性-编译-附加CPP编译参数】里添加,/Zm500、/Zm100 都可以试试。
作者: 朕的    时间: 2026-1-7 13:42
Xelloss0618 发表于 2026-1-7 10:11
查了一下,这是编译器内存不足啊……
你电脑的内存不大吧?还是说用的32位系统?
那个编译参数你可以在【项 ...

X大有好的界面库么
作者: z414041993    时间: 2026-1-11 10:47
boxxie 发表于 2026-1-7 09:28
这种问题只能大牛来,我们这种小菜处理不了的
所以说火山的路还很长呀.
这种问题都没人处理.哈哈...... ...

  时好时坏   写好的源码   或者例子都不能正常编译,我重做了系统,一样如此,个别时候又可以,我是会c++的    我用c++ 啥问题没有,到这里就提示堆空间不足
作者: z414041993    时间: 2026-1-11 11:00
z414041993 发表于 2026-1-11 10:47
时好时坏   写好的源码   或者例子都不能正常编译,我重做了系统,一样如此,个别时候又可以, ...

--- 开始编译项目"tl32dll":
编译生成对应的C++源文件到目录"D:\火山项目\_int\tl32dll\release\win32\project\"成功 [双击可跳转]
正在链接生成目标文件"D:\火山项目\tl32dll\MemAlloc.dll"
所编译程序位数: 32; 所使用 VS 本地编译器版本: 16; 所使用 Windows SDK 版本: 10
正在进行本地编译和链接工作(如果是首次编译,由于需要初始化编译环境和相关缓存,速度稍慢是正常的)
错误: 使用所指定的本地编译器编译当前程序失败
错误: D:\Windows Kits\10\include\10.0.26100.0\ucrt\corecrt_math.h(816): fatal error C1060: 编译器的堆空间不足
编译生成目标文件"D:\火山项目\tl32dll\MemAlloc.dll"失败,耗费时间 218 毫秒.
--- 项目"tl32dll"编译或链接失败. 编译过程中共遇到了 0 个警告, 2 个错误.

作者: boxxie    时间: 2026-1-11 11:06
Xelloss0618 发表于 2026-1-7 10:11
查了一下,这是编译器内存不足啊……
你电脑的内存不大吧?还是说用的32位系统?
那个编译参数你可以在【项 ...


X大大,是64位系统,16G的内存哟
把ZM设置1000都没用
哈哈.........
VS编译没问题.

作者: boxxie    时间: 2026-1-11 11:11
z414041993 发表于 2026-1-11 11:00
--- 开始编译项目"tl32dll":
编译生成对应的C++源文件到目录"D:\火山项目\_int\tl32dll\release\win32\pr ...


编译可能也要看火山的心情呢
作者: Xelloss0618    时间: 2026-1-11 14:24
boxxie 发表于 2026-1-11 11:06
X大大,是64位系统,16G的内存哟
把ZM设置1000都没用
哈哈.........

16G内存现在也没多大,/Zm设置小一些试试,更大反而是消耗更大内存,还可以加上 /bigobj
另外把多核编译关掉
作者: 龙纹    时间: 2026-1-11 14:43
Xelloss0618 发表于 2026-1-11 14:24
16G内存现在也没多大,/Zm设置小一些试试,更大反而是消耗更大内存,还可以加上 /bigobj
另外把多核编译 ...

编译时有可能使用的是32位的cl.exe,即使有16G内存,编译器能用的内存也就不到4G。VS编译可能使用的是64位cl.exe,所以编译没问题。只是猜测,没做验证。
作者: boxxie    时间: 2026-1-11 15:33
龙纹 发表于 2026-1-11 14:43
编译时有可能使用的是32位的cl.exe,即使有16G内存,编译器能用的内存也就不到4G。VS编译可能使用的是64 ...

:噜阿噜
有这种可能
但不知道怎么设置64的CL呢
作者: boxxie    时间: 2026-1-11 15:35
Xelloss0618 发表于 2026-1-11 14:24
16G内存现在也没多大,/Zm设置小一些试试,更大反而是消耗更大内存,还可以加上 /bigobj
另外把多核编译 ...


好的,试下看
多谢X大大呢
作者: 龙纹    时间: 2026-1-11 16:13
boxxie 发表于 2026-1-11 15:33
:噜阿噜
有这种可能
但不知道怎么设置64的CL呢

我刚才测试了,火山中编译32位程序使用的确实是32位的cl.exe(我自己的编译环境),有一个参数可以修改:PreferredToolArchitecture,但是在哪里能设置这个参数我不清楚。
我说的只是可能,你最好先验证下你遇到的问题,火山编译的时候从任务管理器定位到cl.exe的文件位置,看看是不是32位的。
作者: boxxie    时间: 2026-1-11 16:19
龙纹 发表于 2026-1-11 16:13
我刚才测试了,火山中编译32位程序使用的确实是32位的cl.exe(我自己的编译环境),有一个参数可以修改:Pr ...


好的
多谢解答哟
作者: z414041993    时间: 2026-1-12 10:00
我的好像好了  我开成32位客户端了,改成64位的没出现空间不足了
作者: boxxie    时间: 2026-1-12 10:32
z414041993 发表于 2026-1-12 10:00
我的好像好了  我开成32位客户端了,改成64位的没出现空间不足了

:噜阿噜
恭喜哟
搞定了是就是开心的事




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4