LINUX下编译c++11的代码

2023-11-07

 C++11,(即ISO/IEC 14882:2011),是目前的C++编程语言的最新正式标准。它取代了第二版标准(第一版公开于1998年,第二版于2003年更新,分别通称C++98以及C++03,两者差异很小)。新的标准包含核心语言的新机能,而且扩展C++标准程序库。C++11新标准由C++标准委员会于2011年8月12日公布,并于2011年9月出版。此次标准为C++98发布后13年来第一次重大修正。

    像C++这样的编程语言,通过一种演化的的过程来发展其定义。这个过程不可避免地将引发与现有代码的兼容问题,在C++的发展过程中偶尔会发生。不过根据Bjarne Stroustrup(C++的创始人并且是委员会的一员)表示,新的标准将几乎100%兼容于现有标准。关于C++11的新特性和一些版本变更请看:C++11-维基百科

    目前最新版本的GCC/G++是4.8,新版本的GCC支持最新的C++11标准,十分值得去使用&学习。 下面让我们在Ubuntu12.04 LTS用上GCC最新版本,去体验C++11新标准带来的东西吧!

首先非源码编译式安装:

  1. sudo add-apt-repository ppa:ubuntu-toolchain-r/test  
  2. sudo apt-get update  
  3. sudo apt-get install gcc-4.8   
  4. sudo apt-get install g++-4.8  

等GCC/G++下载并安装完以后,测试是否安装成功:

  1. gcc-4.8 -v  
  2. g++-4.8 -v  

如果显示版本号表示安装成功:


安装成功后我们如果要使用gcc-4.8和g++-4.8来编译的话,我们就得把gcc改为gcc-4.8,g++同理,改为g++-4.8来进行编译。

此时使用gcc -v查看默认版本,为4.6版本:


如果你想直接使用gcc-4.8而不改变编译时gcc改为gcc-4.8的话,我们就可以更改一下gcc的软链接:

  1. sudo rm /usr/bin/gcc  
  2. sudo ln -s /usr/bin/gcc-4.8 /usr/bin/gcc  
  3. sudo rm /usr/bin/g++  
  4. sudo ln -s /usr/bin/g++-4.8 /usr/bin/g++  
现在我们用gcc -v来测试就能发现变为了4.8了!

既然GCC-4.8使用了最新的C++11标准,但是我们为什么还是提示错误呢?解决方法如下:
在编译的时候添加-std=c++11选项即可正常编译C++11标准的代码!


  1. //第一种,直接包含在源程序文件中,如第一行代码所示
  2. #pragma GCC diagnostic error "-std=c++11"
  3. #include <iostream>
  4. using namespace std;
  5. int main(int argc,char **argv)
  6. {
  7. cout<< "hello world!"<< endl;
  8. auto i= 10;
  9. cout<<i<< endl;
  10. return 0;
  11. }
  12. //第二种方法,可以直接取别名方法 如下所示:
  13. alias g++= 'g++ -std=c++11'
  14. g++ hw.cpp -o hw

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LINUX下编译c++11的代码 的相关文章

  • 何时使用 =default 使析构函数默认?

    尽管对构造函数使用 default 对我来说很清楚 即强制编译器在其他构造函数存在时创建默认构造函数 但我仍然无法理解这两种类型的析构函数之间的区别 那些使用 default 的 那些没有显式定义并由编译器自动生成的 我唯一想到的是 gro
  • 使用 Enumerable.OfType() 或 LINQ 查找特定类型的所有子控件

    Existed MyControl1 Controls OfType
  • 更改 Qt OpenGL 窗口示例以使用 OpenGL 3.3

    我正在尝试更改 Qt OpenGL 示例以使用更现代的 opengl 版本 330 似乎合适 所以我做了 在 main cpp 上设置版本和配置文件 设置着色器版本 更改着色器以使用统一 它现在构建没有任何错误 但我只看到一个空白窗口 我错
  • 如何在 C# / .NET 中创建内存泄漏[重复]

    这个问题在这里已经有答案了 可能的重复 托管代码中是否可能存在内存泄漏 特别是 C 3 0 https stackoverflow com questions 6436620 is it possible to have a memory
  • 根据 N 个值中最小的一个返回不同的结果

    不确定如何使标题更具描述性 所以我只是从一个例子开始 我使用下面的代码位 它从枚举中选择一个方向 具体取决于四个轴中哪一个与给定方向相比形成最小角度 static Direction VectorToDirection Vector2 di
  • 为什么这个没有特殊字符的正则表达式会匹配更长的字符串?

    我正在使用此方法来尝试查找匹配项 例如 Regex Match A2 TS OIL TS OIL RegexOptions IgnoreCase Success 我得到了真实的结果 我很困惑 我认为这应该返回 false 因为模式中没有特殊
  • 如何获取 QTableView 的标题列表?

    我有一个QTableView我的对话框中的对象 我需要访问该表的水平标题并将它们放入QStringList object 尽管进行了大量搜索 但我在 Qt 文档中找不到如何获取此标头列表 编辑 我发现的最接近的地方是this https w
  • 如何在 QTabWidget Qt 中展开选项卡

    我有一个QTabWidget像这个 但我想展开选项卡以 填充 整个小部件宽度 如下所示 我怎样才能做到这一点 我在用Qt 5 3 2 and Qt 创建者 3 2 1 Update 我尝试使用setExpanding功能 ui gt myT
  • 在 JSQMessagesViewController 中显示 LocationMediaItem

    我刚刚尝试实施LocationMediaItem in my Xamarin iOS应用程序使用JSQMessagesViewController 一切都很顺利 唯一的问题是UICollectionView应该显示位置的单元格永远停留在加载
  • Visual Studio Code:如何配置 includePath 以获得更好的 IntelliSense 结果

    我是使用 Visual Studio Code 的完全初学者 我不知道我在做什么 我已经四处搜索 也许还不够 但我找不到像我这样的人如何配置的简单解释c cpp properties json每当我单击带有绿色波浪线下划线的行旁边的黄色灯泡
  • 如何从文本文件读取整数到数组

    这就是我想做的 我对此有些不满 但我希望你能容忍我 这对我来说是一个非常新的概念 1 在我的程序中 我希望创建一个包含 50 个整数的数组来保存来自文件的数据 我的程序必须获取用户的文档文件夹的路径 2 文件的名称为 grades txt
  • AES 输出是否小于输入?

    我想加密一个字符串并将其嵌入到 URL 中 因此我想确保加密的输出不大于输入 AES 是可行的方法吗 不可能创建任何始终会创建比输入更小的输出的算法 但可以将任何输出反转回输入 如果您允许 不大于输入 那么基本上您只是在谈论同构算法alwa
  • 如何在标准 WPF ListView 中启用 UI 虚拟化

    我正在使用 NET 4 5 VS2012 并且我有一个 ListView 看起来像这样
  • 每个租户的唯一用户名和电子邮件

    我正在使用以下代码编写多租户应用程序ASP NET Core 2 1 我想覆盖默认的与用户创建相关的验证机制 目前我无法创建多个具有相同的用户UserName My ApplicationUser模型有一个名为TenantID 我想要实现的
  • 是否有相当于 Clang/LLVM 的 .spec 文件,在哪里可以找到参考?

    The gcc驱动程序可以配置为使用特定的链接器 特定的选项和其他细节 例如覆盖系统头 specs files 当前 截至撰写本文时 GCC 版本 4 9 0 的手册此处描述了规范文件 https gcc gnu org onlinedoc
  • 了解使用 Windows 本机 WPF 客户端进行 ADFS 登录

    我已经阅读了大量有关 ADFS 与 NodeJS Angular 或其他前端 Web 框架集成以及一般流程如何工作的文献 并通过 Auth0 Angular 起始代码构建了概念证明 但我不明白如何这可以与本机 WPF Windows 应用程
  • 更改 Windows Phone 系统托盘颜色

    有没有办法将 Windows Phone 上的系统托盘颜色从黑色更改为白色 我的应用程序有白色背景 所以我希望系统托盘也是白色的 您可以在页面 XAML 中执行此操作
  • 如何在 DropDownList 中保留空格 - ASP.net MVC Razor 视图

    我在视图中通过以下方式绑定我的模型 问题是我的项目文本是格式化文本 单词之间有空格 如下所示 123 First 234 00 123 AnotherItem 234 00 123 Second 234 00 我想保留此项目文本中的空格 即
  • 在简单注入器中解析具有自定义参数的类

    我正在使用以下命令创建 WPF MVVM 应用程序简易注射器作为 DI 容器 现在 当我尝试从简单注入器解析视图时遇到一些问题 因为我需要在构造时将参数传递到构造函数中 而不是在将视图注册到容器时 因此这不是适用的 简单注入器将值传递到构造
  • QFileDialog::getSaveFileName 和默认的 selectedFilter

    我有 getSaveFileName 和一些过滤器 我希望当用户打开 保存 对话框时选择其中之一 Qt 文档说明如下 可以通过将 selectedFilter 设置为所需的值来选择默认过滤器 我尝试以下变体 QString selFilte

随机推荐

  • R语言实验报告【全集】

    若对你有帮助 记得点赞 关注我哦 7个实验 R语言环境安装 R语言包的安装 创建和使用R语言数据集 数据的导入导出 R语言数据的清洗 高级数据管理 基本统计分析和函数与包实验 其实是两个实验 内容较长 本实验是在我同学做的云平台上运行的 所
  • mysql binlog 目录_怎么查看mysql 的binlog日志存放的位置(linux和win)

    这个你可以看配置文件 启用了才有这样的记录默认是没有的 linux系统中的 etc my cnf my cnf内容 log bin mysqlbin 默认配置 比如上面的设置重启数据库会生成mysqlbin 000001文件 常用的命令 1
  • 在虚拟机ubuntu64位系统中配置jdk

    在虚拟机ubuntu64位系统中配置jdk 第一步 下载jdk 第二步 新建一个文件夹后将压缩包解压到这个文件中 第三步 任意地方打开一个终端 这里在桌面打开 第四步 将系统的配置文件备份 第五步 在终端中打开配置界面 第六步 检查配置是否
  • antd pro mock数据方法

    export default POST api aaa bbbbb req res gt send里是mock数据返回的数据结构 res send code 200 data steps 2 downFile name 需求 url htt
  • 视觉注意力收集

    参考博文 神经网络学习小记录64 Pytorch 图像处理中注意力机制的解析与代码详解 pynq 注意力机制 Bubbliiiing的博客 CSDN博客 计算机视觉 详解 自注意力 Non local 模块与 Self attention
  • 概率论与数理统计(一)

    本文主要讲了什么是事件 事件与概率的关系 事件常见的分类 事件的基本关系及运算 什么是条件概率以及由条件概率引出的事件独立性 由事件独立性引出来的概率0乘法定理 概率的三条公理 文章目录 事件与概率 概率的三条公理 事件的关系与运算 条件概
  • Postman传入的Date参数类型

    需要定义全局变量 postman setGlobalVariable time Date parse new Date 2020 11 11 00 00 00 进行引用 time time
  • DX杂记之细分着色器和利用贝塞尔曲面平滑模型

    细分着色器的构成 细分着色器是为了将一大块的区域继续划分 划分成很多的小块 大体上由三部分构成 但也会涉及一些其它阶段的内容 这三个阶段分别为 Hull Shader Stage Tesslator Stage Domain Shader
  • Day3: 前端路由(基础篇)

    目标 持续输出 每日分享关于web前端常见知识 面试题 性能优化 新技术等方面的内容 主要面向群体 前端开发工程师 初 中 高级 应届 转行 培训等同学 Day3 今日话题 想必大家经常会在面试中或者工作生活中听到 前端路由 相关的问题或者
  • Training a deep autoencoder or a classifier on MNIST digits_Rbm训练(Matlab)

    这是第一次阅读matlab版的RBM程序所做的笔记 其中有好多没有理解的地方 希望能跟各位博友一起学习 一起研究 一起讨论 共同进步 一 Rbm阅读材料 http en wikipedia org wiki Restricted Boltz
  • statsmodels 0.10.0中文文档

    为什么翻译 本人会计出身 转行数据分析 更多是用excel sql spss等工具 30岁开始入坑python 在学习statsmodels包的过程中 在知乎 百度 CSDN和github上均没有找到statsmodels的中文文档 一开始
  • 自然图像目标检测数据集汇总

    参考 自然图像目标检测数据集汇总 云 社区 腾讯云 目录 一 PASCAL VOC 1 Challenge and tasks 2 Dataset 3 Detection Ground Truth 4 Evaluation 二 ImageN
  • 测试离线音频转文本模型Whisper.net的基本用法

    微信公众号 dotNET跨平台 中的文章 OpenAI的离线音频转文本模型Whisper的 NET封装项目 介绍了基于 net封装的开源语音辨识Whisper神经网络项目Whisper net 其GitHub地址见参考文献2 本文基于Whi
  • springMvc 自定义注解以及自定义异常处理

    上一篇写到自定义错误处理 那么有这么个需求 如果每个模块需要错误处理页面不同 那么上面一篇写死为error jsp就不合理了 所以就需要我们想跳哪个错误页面就哪个页面 这样就灵活多了 我采用自定义注解的方式了指定我们需求跳转的错误页面 具体
  • 菜鸡刷题-1

    很久不刷题了 再次刷题手太生了 痛定思痛 还是继续刷吧 立帖为证 天天坚持 217 存在重复元素 给定一个整数数组 判断是否存在重复元素 如果存在一值在数组中出现至少两次 函数返回 true 如果数组中每个元素都不相同 则返回 false
  • 目标检测详解

    文章目录 前言 一 基本概念 目标检测的思路 边界框 锚框 交并比 loU 标注锚框 在训练数据中标注锚框 将真实边界框分配给锚框 标记类别和偏移量 使用非极大值抑制预测边界框 二 模型介绍 两阶段 R CNN Fast R CNN Fas
  • Spring Boot如何让自己的bean优先加载

    背景介绍 在一些需求中 可能存在某些场景 比如先加载自己的bean 然后自己的bean做一些DB操作 初始化配置问题 然后后面的bean基于这个配置文件 继续做其他的业务逻辑 因此有了本文的这个题目 实现方法 DependsOn注解 这个
  • word交叉引用——在正文中给参考文献做链接

    word交叉引用只需两步即可 3分钟即会 第一步 插入编号 文档中有如下参考文献 但还没有 1 2 3 等编号 那么先给参考文献编号序号 使用word gt 开始 gt 编号 接下来给参考文献标好序号 光标选到某参考文献前 点编号即可自动编
  • opencv-python实现去雾操作

    通过仿真自动色阶算法 发现其去雾效果十分明显 并且速度快于暗通道算法 python实现 python3 6 import numpy as np import cv2 def ComputeHist img h w img shape hi
  • LINUX下编译c++11的代码

    C 11 即ISO IEC 14882 2011 是目前的C 编程语言的最新正式标准 它取代了第二版标准 第一版公开于1998年 第二版于2003年更新 分别通称C 98以及C 03 两者差异很小 新的标准包含核心语言的新机能 而且扩展C