1.对单一文件进行复制
# 配置file_copies 必须配置,否则服务复制
CONFIG += file_copies
# 源文件目录
json.files = $$PWD/gwq_st.json
# 目标目录
json.path = $$OUT_PWD/../../bin/Configs/ConfigDev/
COPIES += json
2.对目录整体进行复制
# 配置file_copies
CONFIG += file_copies
# 创建examples变量并配置
# 配置需要复制的文件或目录(支持通配符)
drivers.files = $$PWD/Drivers
# 配置需要复制的目标目录, $$OUT_PWD为QMake内置变量,含义为程序输出目录
drivers.path = $$OUT_PWD/../../bin
# 配置COPIES
COPIES += drivers
注意:
// 成对出现。3条语句一组,不能将相同的语句排除?
usage_model_function_1.files = $$PWD/edf_1 // 目录_1 及其内含的文件
usage_model_function.path = $$OUT_PWD/ //不能将相同的语句排除?
COPIES +=usage_model_function_1
usage_model_function_2.files = $$PWD/edf_2 // 目录_2 及其内含的文件
usage_model_function.path = $$OUT_PWD/ //不能将相同的语句排除?
COPIES += usage_model_function_2
————————————————
版权声明:本文为CSDN博主「yutianzhijie」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yutianzhijie/article/details/115654157
1.背景
当使用QtCreator发布软件时,有时需要同时发布一些配置文件等。可以通过手动拷贝方式复制到发布的软件根目录下,但是这样必须手动操作拷贝,麻烦且容易遗忘。
因此最好将需要发布的附件自动发布到待发布的软件根目录下。
2.自动复制文件或文件夹
这里的例子,容易被误解。
3.说明
当被拷贝的源文件没有发生改变时,不会重复拷贝,此时已经拷贝的内容(如果已经修改)不会被覆盖。
当被拷贝的源文件发生改变时,会自动拷贝并且覆盖已经存在的文件,此时如果拷贝文件中修改内容会丢失。
QtCreator发布软件时自动复制文件或文件夹_qt复制覆盖文件_HIIWAR_ZB的博客-CSDN博客
isEmpty(TARGET_EXT) {
win32 {
TARGET_CUSTOM_EXT = .exe
}
macx {
TARGET_CUSTOM_EXT = .app
}
} else {
TARGET_CUSTOM_EXT = $${TARGET_EXT}
}
win32 {
DEPLOY_COMMAND = windeployqt
}
macx {
DEPLOY_COMMAND = macdeployqt
}
CONFIG( debug, debug|release ) {
# debug
DEPLOY_TARGET = $$shell_quote($$shell_path($${OUT_PWD}/debug/$${TARGET}$${TARGET_CUSTOM_EXT}))
} else {
# release
DEPLOY_TARGET = $$shell_quote($$shell_path($${OUT_PWD}/release/$${TARGET}$${TARGET_CUSTOM_EXT}))
}
# # Uncomment the following line to help debug the deploy command when running qmake
# warning($${DEPLOY_COMMAND} $${DEPLOY_TARGET})
# Use += instead of = if you use multiple QMAKE_POST_LINKs
QMAKE_POST_LINK = $${DEPLOY_COMMAND} $${DEPLOY_TARGET}