新建项目后复制下面到pro文件最下方即可使用。
方便地自动复制依赖库(需要翻译文件的修改一下调用命令那里即可)
PROJECT_DIRECTORY = $$PWD
COMMON_DIRECTORY = $$PWD
CONFIG(debug, debug|release) {
contains(QMAKE_COMPILER, gcc) {
if($$ARCHITECTURE_64_BIT) {
DESTDIR = $${COMMON_DIRECTORY}/build/debug-64bit-gcc
TARGET = ($$TARGET)-debug-64bit-gcc
OBJECTS_DIR = $${PROJECT_DIRECTORY}/generated/obj-debug-64bit-gcc
} else {
DESTDIR = $${COMMON_DIRECTORY}/build/debug-32bit-gcc
TARGET = $${TARGET}-debug-32bit-gcc
OBJECTS_DIR = $${PROJECT_DIRECTORY}/generated/obj-debug-32bit-gcc
}
}
contains(QMAKE_COMPILER, msvc) {
if($$ARCHITECTURE_64_BIT) {
DESTDIR = $${COMMON_DIRECTORY}/build/debug-64bit-msvc
TARGET = $${TARGET}-debug-64bit-msvc
OBJECTS_DIR = $${PROJECT_DIRECTORY}/generated/obj-debug-64bit-msvc
} else {
DESTDIR = $${COMMON_DIRECTORY}/build/debug-32bit-msvc
TARGET = $${TARGET}-debug-32bit-msvc
OBJECTS_DIR = $${PROJECT_DIRECTORY}/generated/obj-debug-32bit-msvc
}
}
} else {
contains(QMAKE_COMPILER, gcc) {
if($$ARCHITECTURE_64_BIT) {
DESTDIR = $${COMMON_DIRECTORY}/build/release-64bit-gcc
TARGET = $${TARGET}
OBJECTS_DIR = $${PROJECT_DIRECTORY}/generated/obj-release-64bit-gcc
} else {
DESTDIR = $${COMMON_DIRECTORY}/build/release-32bit-gcc
TARGET = $${TARGET}-32bit
OBJECTS_DIR = $${PROJECT_DIRECTORY}/generated/obj-release-32bit-gcc
}
}
contains(QMAKE_COMPILER, msvc) {
if($$ARCHITECTURE_64_BIT) {
DESTDIR = $${COMMON_DIRECTORY}/build/release-64bit-msvc
TARGET = $${TARGET}
OBJECTS_DIR = $${PROJECT_DIRECTORY}/generated/obj-release-64bit-msvc
} else {
DESTDIR = $${COMMON_DIRECTORY}/build/release-32bit-msvc
TARGET = $${TARGET}-32bit
OBJECTS_DIR = $${PROJECT_DIRECTORY}/generated/obj-release-32bit-msvc
}
}
DEFINES += NDEBUG
}
S = $${DIR_SEPARATOR}
D = $$DESTDIR
D = $$replace(D, $$escape_expand(\\), $$S)
D = $$replace(D, /, $$S)
E = $$escape_expand(\n\t)
win32 {
QT += winextras
DEPLOY_COMMAND = windeployqt
DEPLOY_TARGET = $$shell_quote($$shell_path($${D}/$${TARGET}.exe))
QMAKE_POST_LINK += $${DEPLOY_COMMAND} --no-translations $${DEPLOY_TARGET} $${E}
if($$ARCHITECTURE_64_BIT) {
message("x86_64 build")
} else {
message("x86 build")
contains(QMAKE_COMPILER, gcc) {
QMAKE_LFLAGS += -Wl,--large-address-aware
}
contains(QMAKE_COMPILER, msvc) {
QMAKE_LFLAGS += /LARGEADDRESSAWARE
}
}
}
效果图(MSVC2017-64BIT):