Недокументированный QMake - CONFIG += resources_big

resource, QMake, Qt

На нашем проекте используется очень большое количество ресурсов, как обычных иконок, так и svg изображений. В какой-то момент проект перестал собираться на ПК разработчиков с небольшим объёмом памяти 16 Гб.

Проблема оказалась в том, что при компилировании ресурсных файлов неконтролируемо потребляется вся доступная память, а если её не хватает, то сборка завершается с ошибкой.

Описание ошибки

В случае использования компилятора MSVC ошибка является следующей:

error: C1060: compiler is out of heap space

Решение

Однако в Qt уже давно добавлен специальный флаг, который оптимизирует сборку огромных ресурсных файлов. То есть решает данную ошибку.

Данный флаг наазывается resources_big и добавляется в pro файле следующим образом

CONFIG += resources_big

Что примечательно, данный флаг был добален очень давно, но при этом до сих пор не документирован, хотя присутствует даже в проектах-примерах самого Qt. Либо его описание спрятано очень глубокого в документации Qt.

Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.
- блог компании
Поддержать автора Donate
MP

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

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

Комментарии

Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
Donate

Здравствуйте, уважаемые пользователи EVILEG !!!

Если сайт вам помог, то поддержите разработку сайта финансово, пожалуйста.

Вы можете сделать это следующими способами:

Спасибо, Евгений Легоцкой

8 ноября 2019 г. 7:59
Pavel.K

C++ - Тест 004. Указатели, Массивы и Циклы

  • Результат:60баллов,
  • Очки рейтинга-1
RF
7 ноября 2019 г. 12:51
Roman Figura

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

  • Результат:50баллов,
  • Очки рейтинга-4
RF
7 ноября 2019 г. 12:44
Roman Figura

C++ - Тест 002. Константы

  • Результат:25баллов,
  • Очки рейтинга-10
Последние комментарии
b
9 ноября 2019 г. 7:28
bastonc

спасибо ещё раз. огромное, за уделённое время
b
9 ноября 2019 г. 7:24
bastonc

Спасибо Вам большое. Буду изучать.
9 ноября 2019 г. 4:58
Евгений Легоцкой

Добрый день. По первым двум вопросам вы найдёте ответ в этой статье - PyQt5 - Урок 008. Работа с QTableWidget (Обновление урока 006) Что касается последнего вопроса, то я вам…
9 ноября 2019 г. 1:50
Евгений Легоцкой

Как и обещал, вы можете посмотреть новую статью QML - Урок 037. Кастомизация кнопок в QML (Обновление урока 002) . Там же найдёте ссылку на Git репозиторий. Не забудьте поставить звёз…
b
8 ноября 2019 г. 6:40
bastonc

Приветствую. Подскажите пожалуйста пару моментов. 1. Как сделать столбец не редактируемый, а остальные ячейки остаются редактируемыми 2. Как оталвливать события двойного клика для реда…
Сейчас обсуждают на форуме
AV
11 ноября 2019 г. 22:15
Alexey Vasin

сейчас компа под рукой нет, так ты найдешь входит ли оди вектор в другой C++Выделит#include <algorithm>#include <iostream>#include <vector>using namespace std;int m…
r
11 ноября 2019 г. 4:57
rbw123

buttonText скорее всего не видит потому, что он находится внутри ButtonStyle. А как тогда обращаться к свойствам?
10 ноября 2019 г. 5:53
Евгений Легоцкой

Я имел ввиду дополнительные параметры сортировки, кроме тех, что уже присутствуют в расширенном поиске.
c
8 ноября 2019 г. 10:06
cappelikan

возникла задача реализовать парсинг html библиотекой htmlcxx и вывода href ссылок ввиде списка с помощью qlistview как это грамотно сделать ? спасибо
L
7 ноября 2019 г. 15:08
LastLeaf

Спасибо, все получилось! Дай бог тебе здоровья!
EVILEG
О нас
Услуги
© EVILEG 2015-2019
Рекомендует хостинг TIMEWEB