2017-02-03 8 views
0

У меня есть проект Qt:Как правильно построить Qt плагины

TEMPLATE  = lib 
CONFIG  += plugin static 
QT   += widgets 
INCLUDEPATH += ../../app 
HEADERS  = basictoolsplugin.h 
SOURCES  = basictoolsplugin.cpp 
TARGET  = $$qtLibraryTarget(pnp_basictools) 
DESTDIR  = ../../plugins 

# install 
target.path = $$[QT_INSTALL_EXAMPLES]/widgets/tools/plugandpaint/plugins 
INSTALLS += target 

CONFIG += install_ok # Do not cargo-cult this! 
uikit: CONFIG += debug_and_release 

Вместо создания каталога на один уровень вверх из папки источников, он просто помещает сборки-basictools-Desktop_Qt_5_8_0_GCC_64bit-Debug в источника. Почему он это делает?

Также стоит отметить, что я получаю следующее предупреждение после сборки:

:-1: warning: The build directory needs to be at the same level as the source directory. 

Проект ниже строит, как и ожидалось, и помещает его сборки-ExtraFilters-Desktop_Qt_5_8_0_GCC_64bit-Debug один уровень вверх от папка соков:

TEMPLATE  = lib 
CONFIG  += plugin 
QT   += widgets 
INCLUDEPATH += ../../app 
HEADERS  = extrafiltersplugin.h 
SOURCES  = extrafiltersplugin.cpp 
TARGET  = $$qtLibraryTarget(pnp_extrafilters) 
DESTDIR  = ../../plugins 

# install 
target.path = $$[QT_INSTALL_EXAMPLES]/widgets/tools/plugandpaint/plugins 
INSTALLS += target 

CONFIG += install_ok # Do not cargo-cult this! 
uikit: CONFIG += debug_and_release 

Как я могу сделать первую работу по проекту вторым проектом?

ОБНОВЛЕНИЕ

Кали Linux

Qt Creator 4.2.1 на основе Qt 5.8.0 (GCC 5.3.1 20160406 (Red Hat 5.3.1-6), 64 бит)

Построенный на 20 января 2017 г. 01:20:15

+0

Вы используете QtCreator? – SingerOfTheFall

+0

Да. * Qt Creator 4.2.1 На основе Qt 5.8.0 (GCC 5.3.1 20160406 (Red Hat 5.3.1-6), 64 бит) * на * Kali Linux * –

ответ

1

Вы можете настроить каталог сборки в QtCreator идя I nto «Проекты» (кнопка с гаечным ключом на левой панели) и выберите «Build» для вашей конфигурации. В верхней части страницы появится поле «Создать каталог». В вашем случае вы, вероятно, должны проверить/снять флажок «shadow build» для одного из проектов.

Теперь, говоря об этом предупреждении, на самом деле qmake не заботится о том, где именно находится ваш каталог сборки, и ваш проект должен строиться просто отлично. По-видимому, была какая-то ошибка, которая привела к появлению этого предупреждения (вы можете проверить here для справки). Я не знаю, насколько это актуально, но лично у меня никогда не было проблем с созданием проекта с этим предупреждением.