【问题标题】:Compiling 10MB+ resource files with qrc in cmake results in heap space allocation failurescmake中使用qrc编译10MB+资源文件导致堆空间分配失败
【发布时间】:2016-08-30 20:36:33
【问题描述】:

我正在尝试使用 CMake 使用 qrc 编译大型资源文件。

众所周知,这会占用所有计算机 RAM (>32GB) 并导致编译器因堆分配错误而退出(请参阅 QTBUG-50468QTBUG-55293QTBUG-54357

Apparently if you use qmake,将CONFIG += resources_big 附加到您的.pro 文件automagically fixes everything。是否可以通过 CMake 访问与此设置等效的设置?

【问题讨论】:

  • 您是否尝试过使用AUTORCC
  • @Torbjörn 是的,我正在使用AUTORCC
  • 我在 Qt 的 CMake 文件中看不到任何关于将 -pass 1-pass 2 传递给 rcc 的引用,所以我想说它还不支持。请在 Qt 的 bugtracker 中提出建议。

标签: cmake qt5 qt-resource


【解决方案1】:

如果您使用的是 cmake 宏中的构建,只需替换

qt5_add_resources(SRC_FILES resources.qrc) # normal resources

qt5_add_big_resources(SRC_FILES resources.qrc) # big resources

这需要 Qt5.12 和 CMake 3.9。

【讨论】:

    【解决方案2】:

    我已提交错误报告 QTBUG-55680,一旦收到 Qt 的回复,我将更新此答案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-16
      • 1970-01-01
      • 2012-06-22
      • 2021-12-15
      • 2019-04-06
      • 1970-01-01
      • 2019-02-08
      相关资源
      最近更新 更多