我的问题是管理我的Qt项目中使用的文件夹中包含的一些文本表;当我编译发布版本或调试版本时,我必须在编译项目的所有地方复制相同的文件夹。缺点是当我更改其中一个文本表中的数据而忘记在所有位置复制此表时。 是否可以在Qt源,头文件和类文件外部以某种方式为所有文件设置绝对路径或唯一文件夹?
答案 0 :(得分:1)
您可以在构建过程完成后使用QMAKE_POST_LINK添加自定义复制命令。
例如,我在我的PRO文件中使用此代码将版本可执行文件复制到专用bin文件夹中,该文件夹用于构建安装程序可执行文件。
win32 {
release {
COPY_CMD = "$$OUT_PWD\\release\\$${TARGET}.exe $$PWD\\bin\\$${TARGET}.exe"
COPY_CMD = $${QMAKE_COPY} $$replace( COPY_CMD, "/", "\\" ) $$escape_expand( \\n\\t )
QMAKE_POST_LINK += $$COPY_CMD
}
}
您也可以这样做,只是在另一个方向上,并将您需要的文件复制到您的构建路径中。
例如,这将在您的构建路径中创建一个文件夹MyList,并将每个* .txt从源根目录复制到此文件夹。
win32 {
release {
COPY_CMD += mkdir $$OUT_PWD/MyList &
COPY_CMD += copy $$IN_PWD/MyList/*.txt $$OUT_PWD/MyList/*.txt &
COPY_CMD = $$replace( COPY_CMD, "/", "\\" ) $$escape_expand( \\n\\t )
QMAKE_POST_LINK += $$COPY_CMD
}
}