我只想跨平台从 *.pro 文件创建一个目录。我很好地使用了一些命令,例如 $(COPY_DIR) 和 $(COPY_FILE) 。我在互联网上看到了很多使用命令 $(MKDIR) 的例子,但它对我不起作用。
它打印: C:/Projects/installer/installer.pro(24): 测试表达式后的额外字符。
当我在第 24 行使用 $$(MKDIR) 时。
或者: C:/Projects/installer/installer.pro(24): '$' 不是公认的测试函数。
当我 $(MKDIR) 时。
在 qmake 项目中创建目录的正确方法是什么?
最佳答案
简短回答
使用QMAKE_MKDIR
像这样:
mytarget.commands += $${QMAKE_MKDIR} $$shell_path($${OUT_PWD}/foo)
长答案
qmake 提供保存有用命令的变量。看看Undocumented QMake Qt Wiki 上的文章。您要找的是QMAKE_MKDIR
,但您可能也对 QMAKE_CHK_DIR_EXISTS
感兴趣.
如果 qmake 给出的值不适合您,您可以使用环境来检索 mkdir 命令:
$(MKDIR) $$shell_path($${OUT_PWD}/foo)
$$(MKDIR) $$shell_path($${OUT_PWD}/foo)
$(...)
语法在 make
时检索环境变量(或 nmake
...)在 $$(...)
时运行当 qmake
时检索它已运行。
此外,mkdir 命令应该在使用 QMAKE_EXTRA_TARGETS
声明的“make target”上下文中调用。 。请参阅Adding custom targets在 qmake 文档中。
关于Qt:如何在项目文件中创建目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42522358/