GCC 4.8无法识别Nullptr
nullptr unrecognized with gcc 4.8
在Red Hat Linux工作站上,我使用devtoolset2给出以下命令:
scl enable devtoolset-2 bash
然后,当我调用gcc——version,我得到:
gcc (GCC) 4.8.2 20140120 (Red Hat 4.8.2-15)
Copyright (C) 2013 Free Software Foundation, Inc.
但是如果我编译我的程序(用cmake生成的malkefile),添加一行:
if(UNIX)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=c++11")
endif()
我有以下错误信息:
cc1plus: error: unrecognized command line option "-std=c++11"
如果我编译用-std=c++0x替换-std=c++11然后,我得到这些消息:
nullptr wasnt declared in this scope.
为什么nullptr不能被识别,因为它是一个关键字?
我不明白,如果你有任何想法…
您没有调用GCC 4.8.2
你的CMake配置有问题,或者你的SCL调用有问题,或者gcc -v
给g++ -v
不同的答案(在这种情况下,检查你的工具集的内容)。
但nullptr
不可用,-std=c++0x
被接受但不被-std=c++11
接受,都建议GCC 4.3, 4.4或4.5。
您可以尝试从构建根目录中删除文件CMakeCache.txt
,该文件可能包含以前环境的缓存属性。
如果做不到这一点,请打开详细输出,以便可以真正地看到发生了什么,调用了哪些二进制文件,以及如何调用。
相关文章:
- 提升 ASIO 无法识别计时器对象
- 从udp接收帧对于人脸识别来说太慢
- 如何在自删除后将对象设置为nullptr
- 如何取消对nullptr的屏蔽,返回正确的对象
- 模板类无法识别友元运算符
- C++ - "!pointer"和"pointer == nullptr"的区别?
- 将指针设置为"nullptr"并不能防止双重删除?
- std::visit无法识别类型
- 创建具有 new in 函数和"this is nullptr"异常的对象
- 无法识别模板功能
- 我有两个类需要在同一 cpp 文件中相互引用,但第一个类无法识别第二个类类型的对象
- 如何在LLVM中dyn_cast以识别StoreInst?
- 从不同的附加依赖项中识别等同命名的函数
- C++出现控制台错误.我无法识别源代码的问题
- VSCode IntelliSense无法识别SDL框架的SDL_image扩展库
- Qt:"Q3DScatter"即使包含在内也无法识别
- 使用指针的类识别
- 为什么我的节点在我设置后被设置为 nullptr = 新节点?
- 如何静态识别动态堆分配?
- GCC 4.8无法识别Nullptr