带有cmake的qtCreator,编辑器中未正确解析__cplusplus值
QtCreator with CMake, Incorrectly parsed __cplusplus value in editor
我在qtcreator中使用了一个cmake项目,并启用了C 17。
我可以编译并使用C 17功能而没有问题。打印__cplusplus
的值时,我会得到201703
,但是当我悬停在QTCreator编辑器中的宏时,它显示了1
的值。
因此,对于任何C 11(及以后(功能,我没有完成任何代码完成或突出显示。这使得处理很烦人。
诸如<memory>
之类的标准标题具有一堆检查,例如:
#if __cplusplus >= 201103L
// unique_ptr and shared_ptr
由于不正确的__cplusplus
值,编辑器会在条件下禁用所有代码。
环境:
- fedora 29
- cmake 3.12
- GCC 8.3.1
- QTCreator 4.7.2(QT 5.11.3(
这是QTCreator和Cmake项目的已知问题吗?是否有工作可以使QTCreator编辑器使用CMAKE/GCC提供的正确__cplusplus
值来解析代码?
似乎qtcreator 4.7.2关于__cplusplus
的错误被定义为1
。现在升级到4.9.0现在正确将__cplusplus
定义为201703
(对于C 17 CMAKE项目(。
将 #define __cplusplus 201103L
放在&lt; project&gt; .config文件中为我工作。
相关文章:
- 如何创建一个CMake变量,除非显式重写,否则使用默认值
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- CMake-按正确顺序将项目与C运行时对象文件链接
- 使用CMake创建QML插件
- cmake如何在fedora工作站中找到boost静态库包
- 使用CMake检测支持的C++标准
- CMake项目Boost库错误:Boost/config/compiler/gcc.hpp:165:10:致命错误:cs
- 如何使用CMake编译.proto文件来生成.grpcp.pb.cc和.grpc.pb.h文件
- cmake在我的项目中所需的所有静态库都不成功
- 在CMakeLists.txt的安装功能中使用.cmake文件有什么用
- 无法链接 CMake 中的本地库
- libssh 的函数在构建 libssh 时无法在 Qt 和 cmake 错误中找到
- 如何在Ubuntu中使用cmake设置qt4
- 使用cmake从源代码构建MySQL连接器/C++失败(与以前的声明冲突)
- 为什么 cmake 许可证<>样式不包括?
- cmake更新缓存的变量
- 将--whole archive链接器选项与CMake和具有其他库依赖项的库一起使用
- 使外部项目可用于find_package CMake
- 生成MRPT库时cmake配置失败
- 使用VS Code和CMake Tools运行自定义命令