GCC使用旧版本的c++
GCC using old version of C++
我正在使用cplusplus网站教程学习c++。我正在使用以下软件:
- CentOS 6.4
- 代码::块10.05
- GCC 4.4.7
这些是yum提供的最新版本。当我跟随教程时,我注意到它说的很多东西对我不起作用。例如,我不能用'u', 'u', 'L'等作为字符串的前缀。此外,'nullptr'无法识别,它会产生编译器错误。我环顾四周,注意到这些特性都是在c++ 11中添加的。所以我当然认为我必须有一个旧版本的c++。
根据本页2.2节中的GCC文档,"如果没有给出c++语言方言选项,默认值是-std=gnu++98"。
所以我想我需要指定-std=gnu++0x。我试着把它放在我的代码::块编译器参数,但它改变了什么。相反,我选中了编译器标志"让g++遵循即将到来的c++0x ISO c++语言标准[-std=c++0x]"。这也改变不了什么。
有人能告诉我我需要做什么来获得Code:: block和GCC使用当前版本的c++吗?
启用c++ 11特性的规范标志是-std=c++11
,但由于GCC扩展,大多数c++ 11特性都可以开箱使用。无论如何,你都应该设置这个标志,因为当你可以采用新标准时,依赖扩展是不好的做法。
但是,你的GCC版本有点过时了。您应该从包管理器或https://www.gnu.org/software/gcc/index.html
获取最新的稳定版本。或者,您可以尝试其他编译器,其中许多都支持c++ 11。Clang(++)是一个流行的选择。
相关文章:
- 为cl.exe(Visual Studio代码)指定命令行C++版本
- 导入库可以跨dll版本工作吗
- 在调用FreeLibrary后,释放动态链接到具有相同版本的CRT堆的DLL的内存
- 在clang++预处理器中确定gcc工具链版本
- 码头化的C++应用程序是否向后兼容早期的内核版本
- 不同的Visual Studio版本中缺少.dll
- 用符号版本替换对函数的所有调用
- luaL_dofile在已知良好的字节码上失败,可以使用未编译的版本
- 正在解码MSVC 32位版本的程序集(作业).没有手术做什么
- 我需要分发哪些版本的可再分发文件
- CV_OCL_RUN宏如何在OpenCV(版本3.4.5)的goodFeaturesToTrack实现中工作?
- 在运行时读取 libstdc++ 版本
- 如何声明一个可以在整个程序中使用的全局 2d 3d 4d .. 数组(堆版本)变量?
- FindPackageHandleStandardArgs.cmake:137 的 CMake 错误(消息):找不到 Boost (缺少:正则表达式)(找到合适的版本"1.72.0",
- Vulkan SDK 版本 1.1.85.0 在 Kubuntu 18.10 上链接
- 如何正确实现与基类不同的版本?
- 从预处理器获取 Windows 版本(C++ Win32)
- 表达式 SFINAE:如何根据类型是否包含具有一个或多个参数的函数来选择模板版本
- 如何在C++中将 Python 字符串转换为其转义版本?
- Qt版本应该在其他计算机上运行吗?