# 拷贝生成文件到指定目录: out_pwd 生成的target文件的当前路径(绝对路径);pwd是 .pro文件所在的当前路径
#QMAKE_POST_LINK = cp $$OUT_PWD/lib$$TARGET.a $$PWD/../../lib/release/lib$$TARGET.a
CONFIG(debug, debug|release) {#debug 模式
MYDIR = $$PWD/build/debug # 变量MYDIR指定目标文件生成目录
DESTDIR = $$MYDIR # 目标文件目录
OBJECTS_DIR = $$MYDIR # *.obj文件生成目录
QMAKE_PRE_LINK = rm -rf $$PWD/../build-* # 删除原先的构建目录
QMAKE_POST_LINK = cp -rf $$DESTDIR/lib$$TARGET.a $$PWD/../../lib/Math/lib$$TARGET.a & #拷贝生成的目标文件(这里是拷贝生成的静态库文件)
QMAKE_POST_LINK += cp -rf $$PWD/src/*.h $$PWD/../../include/dir/ #拷贝相关的头文件
} else {#release模式
MYDIR = $$PWD/build/release # 变量MYDIR指定目标文件生成目录
DESTDIR = $$MYDIR # 目标文件目
OBJECTS_DIR = $$MYDIR # *.obj文件生成目录
QMAKE_PRE_LINK = rm -rf $$PWD/../build-Math*
QMAKE_POST_LINK = cp -rf $$DESTDIR/lib$$TARGET.a $$PWD/../../lib/Math/lib$$TARGET.a &
QMAKE_POST_LINK += cp -rf $$PWD/src/*.h $$PWD/../../include/dir/
}
#CONFIG(debug, debug|release) {
# MYDIR = $$PWD/build/debug # 变量MYDIR指定目标文件生成目录
# DESTDIR = $$MYDIR # 目标文件目录
# MOC_DIR = $$MYDIR # moc_*.cpp生成目录
# OBJECTS_DIR = $$MYDIR # *.obj文件生成目录
# RCC_DIR = $$MYDIR # 资源文件qrc_*.cpp生成目录
# UI_HEADERS_DIR = $$MYDIR # UI文件(ui_*.h) 生成目录
# QMAKE_POST_LINK += cp -rf $$MYDIR/lib$$TARGET.a ../../lib/SqliteHelper/lib$$TARGETd.a
# # QMAKE_POST_LINK += cp -rf ../projDir/src/*.h ../../include/dir/
# } else {
# MYDIR = $$PWD/build/release # 变量MYDIR指定目标文件生成目录
# DESTDIR = $$MYDIR # 目标文件目录
# MOC_DIR = $$MYDIR # moc_*.cpp生成目录
# OBJECTS_DIR = $$MYDIR # *.obj文件生成目录
# RCC_DIR = $$MYDIR # 资源文件qrc_*.cpp生成目录
# UI_HEADERS_DIR = $$MYDIR # UI文件(ui_*.h) 生成目录
# QMAKE_POST_LINK = cp -rf $$MYDIR/lib$$TARGET.a ../../lib/dir/lib$$TARGET.a &
# # QMAKE_POST_LINK += cp -rf ../projDir/src/*.h ../../include/dir/
# }
这篇博客介绍了如何在Qt中指定生成的target文件目录,并在编译完成后将目标文件和相关头文件拷贝到指定路径。在debug和release模式下,详细配置了QMAKE_POST_LINK和QMAKE_PRE_LINK以实现文件的移动。
1628

被折叠的 条评论
为什么被折叠?



