Undocumented QMake - CONFIG += resources_big

resource, QMake, Qt

Our project uses a very large number of resources, both ordinary icons and svg images. At some point, the project stopped assembling on developers' PCs with a small memory capacity of 16 GB.

The problem turned out to be that when compiling resource files, all available memory is uncontrollably consumed, and if it is not enough, then the assembly fails.

Error description

When using the MSVC compiler, the error is as follows:

error: C1060: compiler is out of heap space

Decision

However, Qt has long added a special flag that optimizes the assembly of huge resource files. That is, it solves this error.

This flag is called resources_big and is added to the pro file as follows

CONFIG += resources_big

It is noteworthy that this flag was added a very long time ago, but at the same time it is still not documented, although it is even present in the Qt project examples. Or its description is hidden very deep in Qt documentation.

We recommend hosting TIMEWEB
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.
- company blog
Support the author Donate
MP

Совет: подключайте ресурсы динамически.
Используйте Resource Compiler:
https://doc.qt.io/qt-5/rcc.html

Используем, там где требуется :)

R

Добрый день, Евгений!
А можно ли этот флаг, каким-то образом написать при компиляции программы с использованием PyQT? Например с помощью Nuitka?

resources_big - это флаг для сборки c++ приложения. Если Nuitka не предоставляет какой-либо функционал для прикручивания конфигурационных директив типа CONFIG при компиляции, то сомневаюсь. Про сам Nuitka я первый раз слышу, не сталкивался с этой штукой.
А так я согласен с Михаилом, как он вам ответил на форуме, нужно использовать динамические ресурсные файлы.

Comments

Only authorized users can post comments.
Please, Log in or Sign up
Donate

Hello, Dear Users of EVILEG!!!

If the site helped you, then support the development of the site financially, please.

You can do it by following ways:

Thank you, Evgenii Legotckoi

p
Feb. 17, 2020, 2:41 p.m.
pstMem

C++ - Тест 003. Условия и циклы

  • Result:85points,
  • Rating points6
z
Feb. 17, 2020, 6:02 a.m.
zet

C++ - Test 006. Enumerations

  • Result:80points,
  • Rating points4
z
Feb. 17, 2020, 5:49 a.m.
zet

C++ - Test 001. The first program and data types

  • Result:80points,
  • Rating points4
Last comments
Feb. 17, 2020, 3:22 a.m.
Evgenij Legotskoj

Добрый день. Это кастомный тег, помещается в файл, который находится в каталоге templatetags myapp/ templatetags/ myapp.py
B
Feb. 16, 2020, 1:36 p.m.
BahaMeirman

Добрый вечер! Монжно по подробней о теге get_companion? ссылка не работает.
Feb. 16, 2020, 9:35 a.m.
Evgenij Legotskoj

Добрый день. На GitHub исходники, можете посмотреть в официальном репозитории
B
Feb. 16, 2020, 9:29 a.m.
BahaMeirman

Здравстсвуйте Евгений, непонятно мне где эти исходники найти?
Now discuss on the forum
IP
Feb. 20, 2020, 1:24 a.m.
Igor' Poroshin

QSqlQuery query("SELECT CONCAT("#", LPAD(HEX(`t`.RGB), 6, 0)) FROM table AS t");query.exec(); while (query.next()) { QColor(query.value(0).toString()); }
IP
Feb. 19, 2020, 11:55 p.m.
Igor' Poroshin

qDebug() << model->lastError().text() - возвращает текст и код ошибки, который возвращает база данных, чаще всего ошибка бывает из-за неправильного SQL запроса qDebug() << mo…
Feb. 19, 2020, 8:55 a.m.
Mihailll

Можно через сервер сделать
V
Feb. 19, 2020, 7:09 a.m.
Vitali

Да, прямо сходу не заработало, а сейчас просто некогда разбираться, да и я уже решил не использовать в этом приложении WebEngine. Ошибка: WebEngineContext used before QtWebEngine::initialize(…
Feb. 19, 2020, 7:01 a.m.
BlinCT

Просто реально не вижу тут каких то проблем в модели, вот вообще ничего. Но она все равно не отображается, то есть ладно бы если данные бы не появлялись а сама таблица была бы. Так и таблиц…
EVILEG
About
Services
© EVILEG 2015-2019
Recommend hosting TIMEWEB