Qt - 为什么我在qml资源中添加了一个10Mb的文件后,Visual Studio 2019不能再编译我的项目?

问题描述 投票:0回答:1

我正在使用Visual Studio 2019编译一个QtQuick应用程序。我建立了一个基本的界面,运行良好。目前界面本身非常简单,只有3个标签。此时我的项目编译和链接都没有问题。

现在我需要在qrs资源中添加一个自定义字体文件,以便从我的qml代码中的FontLoader对象中加载它。它的大小是11'621KB。

这样做,我就不能再编译我的项目了。我得到以下错误。

Error C1060 compiler is out of heap space - qrc_qml.cpp - 745259

当然,在写这篇文章之前,我尝试了以下链接:Microsoft Documentation - Fatal Error C1060

所提出的解决方案对我来说都不奏效。此外,我不明白为什么一个简单的11MB的文件会在一台装有16GB内存的电脑上造成堆溢出,而这台电脑上只运行着Visual Studio编译器。

AFAIK问题似乎来自Qt资源编译器,也许它生成的qrc_qml.cpp文件太长。但是,如果资源中勉强添加了一个11 MB的文件(之前是空的)就足以使内存饱和,那么我就非常担心在我的项目中使用Qt的真正可能性。其中有些项目需要的资源会比这多得多,多得多。

我相信(也希望)有一个简单的解决方案。谁能给我解释一下我应该怎么做才能解决这样的问题?

c++ qt qml heap visual-studio-2019
1个回答
0
投票

汉斯-帕桑特这个帖子里的答案对我来说确实有用。

巨大的初始化列表,如何解决 "致命错误C1060: 编译器没有堆空间"

64位编译器或许可以解决这个问题。更改VC++ Directories >Executable Directories设置,根据所需的平台目标,挑选$(VC_ExecutablePath_x64_x86)、x64_x64或x64_ARM。看着那根草长起来也没什么意思,你几乎肯定要把那个实用程序改成写二进制文件。- Hans Passant Jul 13 '18 at 11:30

© www.soinside.com 2019 - 2024. All rights reserved.