我只想跨平台从* .pro文件创建一个目录。我使用了一些命令,如$(COPY_DIR)和$(COPY_FILE)。我在互联网上看到了许多带命令$(MKDIR)的例子,但它对我不起作用。
它打印: C:/Projects/installer/installer.pro(24):测试表达后的额外字符。
当我在第24行使用$$(MKDIR)时。
或者: C:/Projects/installer/installer.pro(24):'$'不是公认的测试函数。
当我(MKDIR)。
在qmake项目中创建目录的正确方法是什么?
答案 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。