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

标签 qt qmake

我只想跨平台从 *.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/

相关文章:

c++ - OpenCV 编译 Ubuntu

c++ - 在 Qt 中使用 unity 菜单栏

c++ - Qt标签为什么不刷新?

c++ - 将 c++ 信号连接到 qml 槽时出现警告

c++ - 从源代码构建 Qt 5.8 - 配置 : Unknown command line option '-c++11'

c++ - 为什么 qt/qmake 找不到我的共享库

连接到 Qt 信号的 Python lambda 函数在不同线程中创建时不会运行

c++ - Qt 应用程序在退出时挂起(在 QDialog 执行之后)

c++ - 如何使用 qmake 设置 C++ 项目的可执行属性?

c++ - QMake 找不到 GraphicsMagick 库