Файл заголовка, сгенерированный UIC, не распознает путь для включения настраиваемого заголовка виджета - PullRequest
1 голос
/ 03 мая 2019

Я создал библиотеку плагинов для виджетов для Qt 5, и она работала нормально, пока я не обновил свою ОС (до ubuntu 19.04).

В текущей версии (5.12) UIC не может сгенерировать заголовочный файл ui_ ... Makefile объявляет пользовательский заголовок виджета как зависимость для файла cpp, используя его:

ui_dialog-rectangulation.h: ../anr-0.1.5/src/gui/dialog-rectangulation.ui \
        /usr/lib/qt5/bin/uic \
        qtz/widgets/viewers/image-viewer.hpp
    /usr/lib/qt5/bin/uic ../anr-0.1.5/src/gui/dialog-rectangulation.ui -o ui_dialog-rectangulation.h

Хотя зависимость не может быть достигнута:

make: *** No rule to make target 'qtz/widgets/viewers/image-viewer.hpp', needed by 'ui_dialog-rectangulation.h'. Stop.

и ui_... не генерируется.

Библиотека плагинов виджетов объявляет включаемый файл следующим образом:

QString ImageViewerPlugin::includeFile() const {
    return QLatin1String("qtz/widgets/viewers/image-viewer.hpp");
}

Путь правильный, там есть файл заголовка, хотя Makefile не включает полный путь к такому файлу (см. Выше).

Вопросы:

  • Должен ли Makefile включать полный путь? в таком случае что мне возвращать с ImageViewerPlugin::includeFile()?
  • В общем, что я делаю не так с этими виджетами? Раньше он прекрасно работал с Qt 5.9 в Ubuntu и Windows. Исходный код доступен на https://github.com/soroush/qtz-widgets,, а библиотека плагинов доступна на https://github.com/soroush/qtz-plugin
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...