我有一个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
不是在sources文件夹中构建一个级别的目录,而是将 build-basictools-Desktop_Qt_5_8_0_GCC_64bit-Debug 放入sources文件夹中。为什么要这样做?
值得注意的是,我在构建后收到以下消息警告:
:-1: warning: The build directory needs to be at the same level as the source directory.
下面的项目按预期构建,并将其 build-extrafilters-Desktop_Qt_5_8_0_GCC_64bit-Debug 从souces文件夹中提升一级:
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
如何让第一个项目作为第二个项目?
更新
Kali Linux
Qt Creator 4.2.1 基于Qt 5.8.0(GCC 5.3.1 20160406(Red Hat 5.3.1-6),64位)
建于2017年1月20日01:20:15
答案 0 :(得分:1)
您可以在QtCreator中设置构建目录,方法是进入" Projects" (左侧窗格上带扳手的按钮),然后选择" Build"为您的配置。将有一个" Build目录"在页面顶部的字段。在你的情况下,你应该检查/取消选中"阴影构建"其中一个项目的复选框。
现在,谈论这个警告,事实上qmake并不关心你的构建目录到底在哪里,你的项目应该建立得很好。显然存在某种导致警告引入的错误(您可以查看here以获取参考)。我不知道它是否仍然具有相关性,但就我个人而言,建立一个带有该警告的项目从未遇到任何麻烦。