【发布时间】:2020-04-19 10:03:53
【问题描述】:
我正在使用 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 RAM 的计算机上导致堆溢出,而该计算机上只运行 Visual Studio 编译器。
AFAIK 问题似乎来自 Qt 资源编译器,可能它生成了一个太长的 qrc_qml.cpp 文件。但是,如果仅在资源中添加一个 11 MB 的文件(以前是空的)就足以使内存饱和,那么我非常担心在我的项目中使用 Qt 的真正可能性。他们中的一些人需要的远不止这些。
我相信(并且希望)有一个简单的解决方案。有人可以解释一下我应该怎么做才能解决这样的问题吗?
【问题讨论】:
-
您是否设置了
/Zm选项? -
正如我所说:“当然,我在写这篇文章之前尝试了以下链接:Microsoft 文档 - 致命错误 C1060”。根据该文件,这是我尝试的第一件事:-)
-
您可能需要显示构建时使用的 Visual Studio 命令行。我过去曾使用此设置来修复该错误。但是我在 VS 2019 上还没有这个。
-
您是否尝试过此 QT 论坛帖子中的解决方案? forum.qt.io/topic/93533/…
-
是的,我也找到并阅读了这个文件,它或多或少地说:“尝试使用 /Zm 编译器选项”。不管你是对的,这个文档值得更仔细地阅读,因为它是在 Qt 上下文中编写的,它可能包含我错过的有用信息。我会尽快这样做。
标签: c++ qt qml visual-studio-2019 heap-memory