【问题标题】:Execute shell command using qmake使用 qmake 执行 shell 命令
【发布时间】:2017-03-14 14:01:28
【问题描述】:

我想使用 qmake 执行一个 shell 命令。命令是:

idlpp -S -l cpp MyModel.idl

这会处理我的 IDL 并生成一些 .cpp 和 .h 文件,这些文件将包含在我的项目中。现在我正在从终端手动执行它,但我希望它在我运行 qmake 时自动完成。

我应该在我的 .pro 文件中添加什么?是否有与 cmake 使用的 execute_process() 等效的东西?

【问题讨论】:

  • 您可能不想从 qmake 运行它,而是从 makefile 本身运行它,这样每当您更改 MyModel.idl 时,都会重新生成输出。

标签: c++ qt shell cmake qmake


【解决方案1】:

在.pro文件中使用system()函数

【讨论】:

    【解决方案2】:

    你应该使用QMAKE_EXTRA_COMPILERS(见http://doc.qt.io/qt-5/qmake-advanced-usage.html#adding-compilers

    在运行qmake时不会调用idlpp,而是在运行make时调用。但是,这样做会将 idlpp 调用集成为 make 过程的一部分。

    # Sample IDL .pro compiler
    IDL_FILES = MyModel.idl
    idl_compiler.output = idl_${QMAKE_FILE_BASE}.cpp
    idl_compiler.commands = idlpp -S -l cpp ${QMAKE_FILE_NAME} # Ideally you would add something like --output=${QMAKE_FILE_OUT}
    idl_compiler.input = IDL_FILES
    QMAKE_EXTRA_COMPILERS += idl_compiler
    

    【讨论】:

      猜你喜欢
      • 2015-02-13
      • 2023-03-18
      • 2018-10-06
      • 2016-05-01
      • 2011-08-03
      • 2015-08-18
      • 1970-01-01
      • 1970-01-01
      • 2011-06-15
      相关资源
      最近更新 更多