【问题标题】:Determine active qmake configuration in C++ files确定 C++ 文件中的活动 qmake 配置
【发布时间】:2018-02-06 12:09:53
【问题描述】:

我有一个使用多种配置的 Qt/C++ 应用程序。因此,在构建设置中,除了标准 Release 和 end Debug 之外,我还添加了 2 个自定义配置。

现在在 QtCreator 中,我可以选择所需的配置来使用适当的配置构建应用程序。

但我不知道如何在 C++ 文件中读取此配置。我想要以下内容:

#if defined CONFIG1
...
#elif defined CONFIG2
...
#else
...
#endif

怎么做?

【问题讨论】:

  • #ifdef? (还有 5 个)
  • 你要“读取”的“配置”,不是你用项目构建的C++源或头文件吗?它是您想在程序运行时读取的实际文本文件吗? “配置”是指在源文件或头文件中使用的宏吗?您能否详细说明“阅读此配置”的含义。
  • 我只想确定活动配置。当然是在 C++ 文件中。
  • 那你给我们看的有什么问题吗?你试过了吗?根据您目前的尝试,哪些有效,哪些无效?你有构建错误吗?运行时错误?请尽可能详细和具体。
  • CONFIG1, CONFIG2 是例如。我不知道在哪里设置它。 #if Configuration_name 不起作用。

标签: c++ qt qmake preprocessor


【解决方案1】:

好的,感谢你们,我找到了解决方案。在Build step 选项卡中有Additional arguments 用于自定义变量。我在这里添加了:

“定义 += CONFIG1”

用于指定配置。报价是必要的。它将被转换为 g++ 的-DCONFIG1 命令行参数,因此在 C++ 代码中它可以如下使用:

#ifdef CONFIG1
    // code here
#endif

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-08
    • 1970-01-01
    • 2017-07-12
    • 2022-08-16
    • 2022-01-06
    相关资源
    最近更新 更多