我有一个库,我希望它根据我所处的配置(调试或发布)将自身复制到一个目录.这是我的项目文件.
#-------------------------------------------------
#
# 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
Run Code Online (Sandbox Code Playgroud)
出于某种原因,调试或释放DLL被复制到两个目录而不是一个目录.因此,如果我在发布模式下运行,我会在Debug目录和release目录中获取发行版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.")
}
Run Code Online (Sandbox Code Playgroud)
要么
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.")
}
Run Code Online (Sandbox Code Playgroud)
但是这两个消息都会显示,因为运行时会创建Makefile.Debug和Makefile.Release文件qmake(在Windows上,或者如果你将debug_and_release添加到其他操作系统上的CONFIG变量).
| 归档时间: |
|
| 查看次数: |
6618 次 |
| 最近记录: |