【问题标题】:Clion and CMake messagesClion 和 CMake 消息
【发布时间】:2015-08-02 10:31:45
【问题描述】:

我刚开始使用 Clion IDE。也许这是写在某个地方,但我没有在谷歌搜索中看到它。如果我在我的 CMake 脚本中调用message(),我可以在 Clion 的哪个位置看到输出?这些消息调用是我知道如何调试 CMake 脚本的唯一方法。

【问题讨论】:

  • IDE有没有日志窗口什么的?
  • 是的,但它专注于 gcc、ld 等的输出。CMake 打印到标准输出,但日志窗口没有捕捉到它。
  • 也许你需要配置它来运行cmake,这样你就可以捕捉到stdout、stderr等

标签: cmake clion


【解决方案1】:

使用message(WARNING ...) 代替message(...)。警告转到标准错误。

【讨论】:

  • 不再需要警告(至少在 CLion 1.5 中)。
  • 很抱歉与 Brent 相矛盾,但我使用的是 CLion 2016.2.2 并且遇到了同样的问题,只有 Sergey 建议的解决方案为我解决了这个问题。
【解决方案2】:

另一种可能的解决方法:

  • 禁用“cmake auto-reload”(如果已启用)
  • 更改 cmake 文件中的某些内容后,不要触发“重新加载更改”
  • 运行/构建您的项目

当 clion 开始构建时,它会意识到 cmake 文件不是最新的并重新加载它们,但与其他构建输出一样,它会显示在 Messages 选项卡中。

【讨论】:

  • 这应该是答案。至少对于 CLion 1.5+,如果 Auto-Reload-CMake 开启,它会擦除​​ CMake 输出。
【解决方案3】:

会显示警告和错误,但当前会禁止显示其他消息。但是,有一个功能请求concerning this issue

【讨论】:

    【解决方案4】:

    截至CLion 2016.2.2, Build #CL-162.1967.7,CLion 在 Build (Ctrl+F9) 在更改 CMakeLists.txt 后首次构建项目时。但正如其他答案中所述,此输出不会显示在 CLion 的 CMake 工具窗口中(正如许多人所希望的那样)。

    更新: 上面我写道 CLion “正在显示消息(状态)输出”。我现在发现这是间歇性发生的。 @Michael 写道,如果您在修改 cmake 文件后跳过 cmake reload 会发生这种情况,但我发现即使在这种情况下,CLion 有时也不会在其消息工具窗口中显示任何 CMake 输出。到目前为止,我还没有发现使 CLion 显示 CMake 消息(状态)输出的确切情况,当/如果我这样做时会在这里报告。

    重大更新: CLion opens 2016.3 EAP: user-defined literals, CMake output, C11 keywords completion and more。尤其是:CMake output window:一个单独的我认为它解决了整个问题:CLion 2016.3 EAP 添加了一个包含 CMake 命令输出的新选项卡。

    当然,这是 EAP,它带有 JetBrains 的警告:

    将 EAP 与传统的预发布区分开来很重要 软件。请注意,EAP 版本的质量有时可能 远低于通常的测试标准。

    因此使用它需要您自担风险,但如果您需要 CMake 调试,您可能会认为这是值得冒的风险。

    【讨论】:

      猜你喜欢
      • 2023-03-29
      • 2017-06-06
      • 2019-04-28
      • 1970-01-01
      • 2018-03-27
      • 2015-03-30
      • 2020-07-04
      • 2018-03-26
      • 2023-01-27
      相关资源
      最近更新 更多