Я занимаюсь разработкой библиотеки виджетов для Linux. Он содержит некоторые .ui
файлы. .pro
файл выглядит так:
TEMPLATE = lib
SOURCES += ...
HEADERS += ...
FORMS += ...
TARGET = foo
headers.files = $$HEADERS
unix {
target.path = /usr/lib
headers.path = /usr/include/foo/
}
INSTALLS += target headers
Когда я устанавливаю библиотеку в систему, файлы ui _ *. H отсутствуют в / usr / include / foo /, и это приводит к ошибке компиляции. Как мне удалить эти файлы или включить их в цель установки?
«Лучшее» решение (IMHO) — не наследовать от классов пользовательского интерфейса, а вместо этого использовать композицию. Если вы используете Подход с единичным наследованием, Вы можете обойтись путем предварительного объявления класса UI, что устраняет необходимость делать его заголовки публично видимыми.
Других решений пока нет …