gpt4 book ai didi

c++ - 带有 CMake 的 QtCreator,在编辑器中错误地解析了 __cplusplus 值

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:38:53 27 4
gpt4 key购买 nike

我在启用了 C++17 的 QtCreator 中使用了一个 CMake 项目。

我可以毫无问题地编译和使用 C++17 功能。打印 __cplusplus 的值时我得到 201703 ,但是当我将鼠标悬停在 QtCreator 编辑器中的宏上时,它显示的值为 1 .

正因为如此,我没有得到任何代码完成或任何 C++11(及更高版本)功能的突出显示。这使得处理起来很烦人。

标准 header ,例如 <memory>有一堆支票,例如:

#if __cplusplus >= 201103L
// unique_ptr and shared_ptr

由于不正确的__cplusplus,编辑器禁用了该条件下的所有代码值(value)。

环境:

  • 软呢帽 29
  • CMake 3.12
  • 海湾合作委员会 8.3.1
  • QtCreator 4.7.2 (Qt 5.11.3)

这是 QtCreator 和 CMake 项目的已知问题吗?是否有解决方法让 QtCreator 编辑器使用正确的 __cplusplus 解析代码CMake/GCC 提供的值?

最佳答案

QtCreator 4.7.2 似乎有一个关于 __cplusplus 被定义为 1 的错误。升级到 4.9.0 现在可以将 __cplusplus 正确定义为 201703(对于 C++17 Cmake 项目)。

关于c++ - 带有 CMake 的 QtCreator,在编辑器中错误地解析了 __cplusplus 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55963065/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com