Qt Qmake处于发布和调试模式

Qt Qmake处于发布和调试模式,qt,config,qmake,Qt,Config,Qmake,我有一个库,我希望它根据我所处的配置(调试或发布)将自己复制到一个目录中。这是我的项目文件 #------------------------------------------------- # # Project created by QtCreator 2011-08-13T12:48:33 # #------------------------------------------------- TARGET = JECLibrary TEMPLATE = lib DEFINES +=

我有一个库,我希望它根据我所处的配置(调试或发布)将自己复制到一个目录中。这是我的项目文件

#-------------------------------------------------
#
# Project created by QtCreator 2011-08-13T12:48:33
#
#-------------------------------------------------

TARGET = JECLibrary
TEMPLATE = lib

DEFINES += JECLIBRARY_LIBRARY

SOURCES += \
    JECMessageText.cpp \
    JECMessageCombo.cpp \
    JECButton.cpp

HEADERS +=\
        JECLibrary_global.h \
    JECMessageText.h \
    JECMessageCombo.h \
    JECButton.h

CONFIG(debug, debug|release)
{
    DLLDESTDIR += $$quote(../../../Jane/Jane/Build/debug)
    message("Copying to Jane Debug Directory.")
}
CONFIG(release, debug|release)
{
    DLLDESTDIR += $$quote(../../../Jane/Jane/Build/release)
    message("Copying to Jane Release Directory.")
}

FORMS += \
    JECMessageText.ui \
    JECMessageCombo.ui
出于某种原因,调试或发布DLL被复制到两个目录,而不是一个目录。因此,如果我在发布模式下运行,我将在调试目录和发布目录中获得发布DLL


我完全糊涂了。有人能解释一下吗?谢谢

开口撑杆应与条件位于同一条线上:

CONFIG(debug, debug|release) {
    DLLDESTDIR += $$quote(../../../Jane/Jane/Build/debug)
    message("Copying to Jane Debug Directory.")
}
CONFIG(release, debug|release) {
    DLLDESTDIR += $$quote(../../../Jane/Jane/Build/release)
    message("Copying to Jane Release Directory.")
}


但是这两条消息都会显示,因为文件Makefile.Debug和Makefile.Release都是在运行
qmake
时创建的(在Windows上,或者如果在其他操作系统上将Debug\u和\u Release添加到配置变量中)。

是,但生成的dll或exe(取决于我正在运行的项目)这两者都将被释放或调试,具体取决于其所处的模式。因此,如果我在debug中运行它,release文件夹中的exe将是debug版本。我该怎么阻止这一切?我还尝试了else方法,QMake给了我一个错误。我更正了第一个块,两种方法似乎都工作正常(生成的makefile都包含正确的路径)。qmake给了你什么错误?
CONFIG(debug, debug|release) {
    DLLDESTDIR += $$quote(../../../Jane/Jane/Build/debug)
    message("Copying to Jane Debug Directory.")
} else {
    DLLDESTDIR += $$quote(../../../Jane/Jane/Build/release)
    message("Copying to Jane Release Directory.")
}