问题:如何在项目文件中创建目录?

时间:2017-03-01 02:55:06

标签: qt qmake

我只想跨平台从* .pro文件创建一个目录。我使用了一些命令,如$(COPY_DIR)和$(COPY_FILE)。我在互联网上看到了许多带命令$(MKDIR)的例子,但它对我不起作用。

它打印: C:/Projects/installer/installer.pro(24):测试表达后的额外字符。

当我在第24行使用$$(MKDIR)时。

或者: C:/Projects/installer/installer.pro(24):'$'不是公认的测试函数。

当我(MKDIR)。

在qmake项目中创建目录的正确方法是什么?

1 个答案:

答案 0 :(得分:4)

简短回答

像这样使用QMAKE_MKDIR

mytarget.commands += $${QMAKE_MKDIR} $$shell_path($${OUT_PWD}/foo)

答案很长

qmake提供了包含有用命令的变量。看看Qt Wiki上的Undocumented QMake文章。您要查找的是QMAKE_MKDIR,但您可能也对QMAKE_CHK_DIR_EXISTS感兴趣。

如果qmake给出的值不适合你,你可以使用环境来检索mkdir命令:

$(MKDIR) $$shell_path($${OUT_PWD}/foo)
$$(MKDIR) $$shell_path($${OUT_PWD}/foo)

$(...)语法在运行make(或nmake ...)时检索环境变量,而$$(...)在运行qmake时检索环境变量。

同样应该在用QMAKE_EXTRA_TARGETS声明的“make target”的上下文中调用mkdir命令。请参阅qmake文档中的Adding custom targets