亚游wwwag8com
你好,游客 登录 注册
背景:
阅读新闻

Ubuntu 18.04 下搭建 C/C++编译开发环境及GCC多版本切换

[日期:2019-04-23] 来源:亚游wwwag8comLinux公社  作者:醉落红尘 [字体: ]

亚游wwwag8com,名人书画卖出高价的背后,绝大多数都有炒作因素。就连王中军本人也承认,很多画家画一辈子也不可能卖出他这样的价钱,原因是他拥有圈子和资源。而买下马云画作《桃花源》的,也正是其好友。这位频频在名人书画拍场出手的隐形富豪给出的理由是:“既然没空出力,只好出点钱了。”撇开那些“出力”的买家,大量参与者还是投机客,他们眼见来钱快就疯狂涌入。“真心喜欢莫言书法的人自然高兴迎来抄底良机,只是苦了当年那些高位参与的投机客。”如今被深度套牢的韩旭东认为自己也是其中一分子。

  今年1-4月手机累计生产5168万部,同比增长67.4%;4987万部,同比增长60.3%;产销率为96.5%;累计出口19.1亿美元,同比增长44.3%。从这些数字可以看出,我国手机的生产能力,是建立在国内外两个需求的基础上,主要是巨大的需求,推动了手机产业的发展,而不是企业只追求产量盲目生产。浙江金融控股有限公司董事长钱巨炎接受组织审查在此后的一系列国际比赛中,中国双人滑基本上稳定在世界一流水准,但并未达到顶尖水准。为此,冬季运动管理中心与赵宏博等再次商议,决定改变现状,希望中国双人滑的水平再有一个大幅度提升。于是,重新拆对的想法出现了,虽然这种做法也引发不少争议,但赵宏博顶住了压力,他说:“这种改变的确存在风险,但是不改变就只能维持现状。不管非议有多少,我们只能努力向前,不能回头。”

本文详细记录在亚游wwwag8comUbuntu 18.04.2 下搭建 C/C++编译开发环境的步骤,Ubuntu 18.04.2预装GCC版本为7.4,但有时在编译是需要用的不同gcc版本,下面就介绍如何安装不同的gcc 和g++版本,并设置根据不同的需要在不同版本之间切换。

1. 环境准备

首先需要安装gcc和g++环境

安装之前查看是否有安装,使用命令:

gcc --version
g++ --version

Ubuntu 18.04 下搭建 C/C++编译开发环境

Ubuntu 18.04中gcc与g++默认安装的是7.4.0版本。

你也可以使用以下命令安装其他版本的gcc与g++:

# 版本安装:这里选择的式版本8

linuxidc@linuxidc:~/linuxidc.com$ sudo apt install gcc-8
[sudo] linuxidc 的密码:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树     
正在读取状态信息... 完成     
将会同时安装下列软件:
  cpp-8 libasan5 libgcc-8-dev libubsan1
建议安装:
  gcc-8-locales gcc-8-multilib gcc-8-doc libgcc1-dbg libgomp1-dbg libitm1-dbg
  libatomic1-dbg libasan5-dbg liblsan0-dbg libtsan0-dbg libubsan1-dbg
  libmpx2-dbg libquadmath0-dbg
下列【新】软件包将被安装:
  cpp-8 gcc-8 libasan5 libgcc-8-dev libubsan1
升级了 0 个软件包,新安装了 5 个软件包,要卸载 0 个软件包,有 185 个软件包未被升级。
需要下载 21.5 MB 的归档。
解压缩后会消耗 71.4 MB 的额外空间。
您希望继续执行吗? [Y/n] Y

Ubuntu 18.04 下搭建 C/C++编译开发环境

linuxidc@linuxidc:~/linuxidc.com$ sudo apt install g++-8
正在读取软件包列表... 完成
正在分析软件包的依赖关系树     
正在读取状态信息... 完成     
将会同时安装下列软件:
  libstdc++-8-dev
建议安装:
  g++-8-multilib gcc-8-doc libstdc++6-8-dbg libstdc++-8-doc
下列【新】软件包将被安装:
  g++-8 libstdc++-8-dev
升级了 0 个软件包,新安装了 2 个软件包,要卸载 0 个软件包,有 185 个软件包未被升级。
需要下载 11.6 MB 的归档。
解压缩后会消耗 45.2 MB 的额外空间。
您希望继续执行吗? [Y/n] Y

Ubuntu 18.04 下搭建 C/C++编译开发环境

# 版本安装:这里选择的式版本5

linuxidc@linuxidc:~/linuxidc.com$ sudo apt-get install gcc-5
正在读取软件包列表... 完成
正在分析软件包的依赖关系树     
正在读取状态信息... 完成     
将会同时安装下列软件:
  cpp-5 gcc-5-base libasan2 libgcc-5-dev libisl15 libmpx0
建议安装:
  gcc-5-locales gcc-5-multilib gcc-5-doc libgcc1-dbg libgomp1-dbg libitm1-dbg
  libatomic1-dbg libasan2-dbg liblsan0-dbg libtsan0-dbg libubsan0-dbg
  libcilkrts5-dbg libmpx0-dbg libquadmath0-dbg
下列【新】软件包将被安装:
  cpp-5 gcc-5 gcc-5-base libasan2 libgcc-5-dev libisl15 libmpx0
升级了 0 个软件包,新安装了 7 个软件包,要卸载 0 个软件包,有 185 个软件包未被升级。
需要下载 19.2 MB 的归档。
解压缩后会消耗 61.5 MB 的额外空间。
您希望继续执行吗? [Y/n] Y

Ubuntu 18.04 下搭建 C/C++编译开发环境及GCC多版本切换

亚游wwwag8comlinuxidc@linuxidc:~/linuxidc.com$ sudo apt-get install g++-5
正在读取软件包列表... 完成
正在分析软件包的依赖关系树     
正在读取状态信息... 完成     
将会同时安装下列软件:
  libstdc++-5-dev
建议安装:
  g++-5-multilib gcc-5-doc libstdc++6-5-dbg libstdc++-5-doc
下列【新】软件包将被安装:
  g++-5 libstdc++-5-dev
升级了 0 个软件包,新安装了 2 个软件包,要卸载 0 个软件包,有 185 个软件包未被升级。
需要下载 9,864 kB 的归档。
解压缩后会消耗 38.6 MB 的额外空间。
您希望继续执行吗? [Y/n] y

Ubuntu 18.04 下搭建 C/C++编译开发环境及GCC多版本切换

现在查看已安装gcc版本

linuxidc@linuxidc:~/linuxidc.com$ ls /usr/bin/gcc*
/usr/bin/gcc    /usr/bin/gcc-ar    /usr/bin/gcc-nm    /usr/bin/gcc-ranlib
/usr/bin/gcc-5  /usr/bin/gcc-ar-5  /usr/bin/gcc-nm-5  /usr/bin/gcc-ranlib-5
/usr/bin/gcc-7  /usr/bin/gcc-ar-7  /usr/bin/gcc-nm-7  /usr/bin/gcc-ranlib-7
/usr/bin/gcc-8  /usr/bin/gcc-ar-8  /usr/bin/gcc-nm-8  /usr/bin/gcc-ranlib-8

Ubuntu 18.04 下搭建 C/C++编译开发环境及GCC多版本切换

update-alternatives是ubuntu系统中专门维护系统命令链接符的工具,通过它可以很方便的设置系统默认使用哪个命令、哪个软件版本。
 其中40 ,50 ,70是优先级数值可以自己设定,--slave能保证gcc和g++保持相同的版本。

设置优先级

linuxidc@linuxidc:~/linuxidc.com$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 30
linuxidc@linuxidc:~/linuxidc.com$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 40
linuxidc@linuxidc:~/linuxidc.com$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 50

Ubuntu 18.04 下搭建 C/C++编译开发环境及GCC多版本切换

linuxidc@linuxidc:~/linuxidc.com$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 30
linuxidc@linuxidc:~/linuxidc.com$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 40
linuxidc@linuxidc:~/linuxidc.com$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 50

Ubuntu 18.04 下搭建 C/C++编译开发环境及GCC多版本切换

接着查看

选择gcc版本

linuxidc@linuxidc:~/linuxidc.com$ sudo update-alternatives --config gcc
有 3 个候选项可用于替换 gcc (提供 /usr/bin/gcc)。

  选择      路径          优先级  状态
------------------------------------------------------------
  0            /usr/bin/gcc-5  50        自动模式
  1            /usr/bin/gcc-5  50        手动模式
  2            /usr/bin/gcc-7  40        手动模式
* 3            /usr/bin/gcc-8  30        手动模式

要维持当前值[*]请按<回车键>,或者键入选择的编号:

现在默认为gcc8

选择g++版本

亚游wwwag8comlinuxidc@linuxidc:~/linuxidc.com$ sudo update-alternatives --config g++
有 3 个候选项可用于替换 g++ (提供 /usr/bin/g++)。

  选择      路径          优先级  状态
------------------------------------------------------------
* 0            /usr/bin/g++-5  50        自动模式
  1            /usr/bin/g++-5  50        手动模式
  2            /usr/bin/g++-7  40        手动模式
  3            /usr/bin/g++-8  30        手动模式

要维持当前值[*]请按<回车键>,或者键入选择的编号:3
update-alternatives: 使用 /usr/bin/g++-8 来在手动模式中提供 /usr/bin/g++ (g++)

Ubuntu 18.04 下搭建 C/C++编译开发环境及GCC多版本切换

安装后查看版本,如下图所示:

linuxidc@linuxidc:~/linuxidc.com$ gcc --version
gcc (Ubuntu 8.3.0-6ubuntu1~18.04) 8.3.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

linuxidc@linuxidc:~/linuxidc.com$ g++ --version
g++ (Ubuntu 8.3.0-6ubuntu1~18.04) 8.3.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Ubuntu 18.04 下搭建 C/C++编译开发环境及GCC多版本切换

2. 编写C源代码

可以通过任何文本编辑器创建一个.cpp的文件.在这里用创建一个linuxidc.com.cpp文件,并保存在一个文件中,测试的代码为:

#include <iostream>
using namespace std;
int main()
{
    cout << "Hello, Linux公社 亚游wwwag8com www.neurofeedbackconsult.com" << endl;
    return 0;
}

3. 代码编译

打开终端使用如下命令进行编译:

/命令格式:g++ 文件名
g++ linuxidc.com.cpp

注意:这里的文件名其实是包含文件路径的。要是不知道文件路径的话可以在敲完g++加上空格之后直接把文件拖进去,系统会自动添加文件路径。默认的输出位置是“主文件夹”,默认输出文件是a.out。可以使用以下格式指定输出的文件名:

g++ 文件名 -o 输出文件名

比如g++ linuxidc.com.cpp -o linuxidc.com

输出的路径仍然是默认路径,文件名应是*.out的格式。这里要注意的是使用-o命令必须指定输出文件名,否则会报错:g++: argument to ‘-o’ missing。

对于g++的命令使用,可以通过:man g++命令查看

4. 执行并输出结果

通过以上编译得到*.out文件以后,你也可以直接把这个文件拖到Terminal上,通过按回车键运行,如图所示:

Ubuntu 18.04 下搭建 C/C++编译开发环境及GCC多版本切换

到这里就完成了Ubuntu 18.04下 C/C++环境的搭建,对于从编译到运行的过程可以通过脚本来一步到位执行。

Linux公社的RSS地址/wwwd35clinuxidcd35ccom/rssFeed.aspx

本文永久更新链接地址/wwwd35clinuxidcd35ccom/Linux/2019-04/158258.htm

linux
本文评论   查看全部评论 (1)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
第 1 楼
* Dmouse会员 发表于 2019/5/6 22:41:19
扣扣
印度政府称中印关系对全球至关重要 中方回应 被罚15000刀!韦德小弟这行为叫违反体育道德 独家对话付辛博颖儿:互怼互宠中的夫妻新生活 工信部就信息安全问题问询腾讯、携程、爱奇艺等 政协委员建议:成立国家文化战略智库建设文化强国 新政让土炮火力压制外援 中甲成本土球员绽放舞台 延边发公告:将就与毅腾发布会记者被辱骂一事申诉 湖南15个县市区领导将实施自然资源资产离任审计 法国东部城市博讷发生枪击事件 导致7人受伤 卫冕日本女流名人战 藤泽里菜生涯首次两连霸 台军秘密建导弹基地 被当地少数民族发现后抗议 鲁媒:辽宁有太多山东要学的地方 夺冠需要耐心
奇牛国际:美国4月零售继续保持增长 欧元扩大跌幅 Facebook发布二季度财报 盘后股价暴跌逾20% 魏江雷:办赛为参与 年轻人只吃鸡不运动很可怕 特朗普开始拼连任 自称最想和这个女人对决(图) 詹姆斯追平科比到历史第6!生涯破百他是第10人 预计对华出口持续高增长 欧洲拉美农产品紧盯中国 共享单车“下半场”开赛:由乱到治存三大难点 美国会参院再次投票通过鲍威尔担任美联储主席 央视3·15大型养生科普讲座:走过路过不要错过 李赫金多瑛礼尚往来 被放生的大龙又走死(多谱) 男子挥刀砍妻子和岳母 只因妻子要先挣钱拒生孩子 天体低消额度升级!连两场净胜4+ 这攻击力谁不服
中科大副校长:构建量子保密通信网络保护信息安全 男子车祸被截肢 家属到医院看到他头下的东西震惊 罗马公布次战巴萨大名单:哲科领衔 1大将伤缺 这些印度人被猴子“盯上了” 有人已被袭击过7次 老赖名下无财产 法院查封其尾号“77777”手机号 棋圣战范廷钰屠龙柯洁 陈耀烨出局90后包揽4强 易车网第四季度净利润1520万美元 同比增长26% 西南王决赛芈昱廷屠龙唐韦星 首夺该赛事冠军 举重全锦赛捷报!石智勇总成绩超世界纪录 新研究称地球生命也许源自两种远古化学反应 土耳其坚决要求加入欧盟 拒绝同建“伙伴关系” HALTI | 始于大山 亲近自然 挑战自我 神剧本+争议!利物浦热刺10分钟3神球大反转|gif 亚游wwwag8com