Сборка Qt4.8.7 из исходников, linux

Для старого софта требуется QT4.8.7. При сборке из иходников получаю:

qprintdialog_unix.cpp:281:19: error: ‘class Ui::QPrintPropertiesWidget’ has no member named ‘cupsPropertiesPage’

Аналогичных ошибок много, но они повторяющиеся. Гуглеж ничего не дал. Кто виноват - я знаю. А вот что делать - нет. Подскажите, пожалуйста, что делать.


Ответы (2 шт):

Автор решения: eri

Похоже Вы хотите собрать из исходников Вашего дитрибутива и смешались заголовочные файлы системной Qt и архива. Удалите -dev пакеты связанные с Qt. Установите зависимости через apt build-dep qt4-x11, для этого должны быть включенны deb-src репозитории от bionic или buster

Инструкция тут https://doc.qt.io/archives/qt-4.8/install-x11.html Архив с исходниками тут https://download.qt.io/new_archive/qt/4.8/4.8.7/

Хотя я рекомендую установить Debian Buster вместо сборки - современный дистрибутив, но qt4 ещё не выпиленна.

→ Ссылка
Автор решения: Sergei Krasilov

Есть простое решение, правка одного *.h файла:

To correct Qt just edit the file qt-everywhere-opensource-src-4.8.7/src/corelib/global/qglobal.h and line 2500 replace the break by a continue (notice all the stuff about the member brk is now useless and the code can be simplified.

That also solves the problem in the subdir translations where the qm file was not able to be generated, still because of foreach only looking the very first element

→ Ссылка