Qt:通过项目文件创建目录
Qt: Creating a directory via project file
我试图在构建过程中将我编译的语言文件复制到我的输出目录中。我已经复制下来了,但没有创建目录。经过大量谷歌搜索后,我想到了这个:
LANGDIR = $$OUT_PWD
win32:CONFIG(debug, release|debug):LANGDIR = $$LANGDIR/debug/lang
win32:CONFIG(release, release|debug):LANGDIR = $$LANGDIR/release/lang
makeLang.commands += $${QMAKE_MKDIR} $$shell_path($${LANGDIR})
first.depends = $(first) makeLang
export(first.depends)
export(makeLang.commands)
QMAKE_EXTRA_TARGETS += first makeLang
大部分工作都是这样,但是,当目录 lang 已经存在时,构建过程会失败。我知道 QMAKE_CHK_DIR_EXISTS
存在,但我不知道如何将其用作条件。我想也许它是这样的 !$${QMAKE_CHK_DIR_EXISTS} $$shell_path($${LANGDIR}) : $${QMAKE_MKDIR} $$shell_path($${LANGDIR})
但它只是崩溃 jom.exe;无论如何,我真的没想到它会起作用。
我也乐于接受有关更好的方法来完成我想做的事情的建议。理想情况下,整个事情应该是独立于平台的,这样我就可以在我的 CI 管道中生成包含语言文件的工件。
您应该使用 QMAKE_MKDIR_CMD
,只有当目录不存在时才创建目录。
我试图在构建过程中将我编译的语言文件复制到我的输出目录中。我已经复制下来了,但没有创建目录。经过大量谷歌搜索后,我想到了这个:
LANGDIR = $$OUT_PWD
win32:CONFIG(debug, release|debug):LANGDIR = $$LANGDIR/debug/lang
win32:CONFIG(release, release|debug):LANGDIR = $$LANGDIR/release/lang
makeLang.commands += $${QMAKE_MKDIR} $$shell_path($${LANGDIR})
first.depends = $(first) makeLang
export(first.depends)
export(makeLang.commands)
QMAKE_EXTRA_TARGETS += first makeLang
大部分工作都是这样,但是,当目录 lang 已经存在时,构建过程会失败。我知道 QMAKE_CHK_DIR_EXISTS
存在,但我不知道如何将其用作条件。我想也许它是这样的 !$${QMAKE_CHK_DIR_EXISTS} $$shell_path($${LANGDIR}) : $${QMAKE_MKDIR} $$shell_path($${LANGDIR})
但它只是崩溃 jom.exe;无论如何,我真的没想到它会起作用。
我也乐于接受有关更好的方法来完成我想做的事情的建议。理想情况下,整个事情应该是独立于平台的,这样我就可以在我的 CI 管道中生成包含语言文件的工件。
您应该使用 QMAKE_MKDIR_CMD
,只有当目录不存在时才创建目录。