Linux环境中编译运行C/C++语言程序----安装并测试gcc、g++(详细教程)

上篇博文:
在VMware15中创建虚拟机安装ubuntu系统(超详细教程)

此篇博文是分享装完ubuntu系统后,我进行配置C语言编译运行环境的过程,包括遇到的一些问题及其解决办法,我也是在网上搜了很多,和同学交流探讨,捣鼓了一天才搞好了! 不瞒你们说,我现在心情贼激动哈哈哈…

网络连接问题

1、首先讲一个比较重要的问题,就是网络连接问题,注意:不要被在虚拟机桌面看到的【有线连接 已连接】所迷惑! 一个简单有效的查看是否网络连接且可用的方法,在终端输入:ping www.baidu.com -c 3,然后回车。
若如下图则表示网络可用!若出现找不到服务器或服务器无效之类的,那就是网络不可用!
Linux环境中编译运行C/C++语言程序----安装并测试gcc、g++(详细教程)_第1张图片
有线连接显示已连接但无法使用网络的解决方法:
点击【虚拟机】–>选择【设置】–>选择【网络适配器】–>选择【NAT模式】–>点击【确定】
Linux环境中编译运行C/C++语言程序----安装并测试gcc、g++(详细教程)_第2张图片
Linux环境中编译运行C/C++语言程序----安装并测试gcc、g++(详细教程)_第3张图片
如果网络没连接或者网络连接不可用,便去安装vim或者gcc,就会出现下面的情况:说没有可用的软件包,软件包gcc没有可安装候选之类的
(网络不可用应该安装啥都是不行的吧)
Linux环境中编译运行C/C++语言程序----安装并测试gcc、g++(详细教程)_第4张图片
有线连接无托管,线缆已拔出等问题解决方法
如果换成【NAT】还不行,那就试一下下面这种还原法:
1、点击【编辑】,选择【虚拟网络编辑器】
Linux环境中编译运行C/C++语言程序----安装并测试gcc、g++(详细教程)_第5张图片
2、点击【更改设置】以便以管理员权限进入【虚拟网络编辑器】
Linux环境中编译运行C/C++语言程序----安装并测试gcc、g++(详细教程)_第6张图片
3、点击【还原默认设置】,弹出如下图的窗口,点击【是】,最后点击【确定】,网络就可以成功连接了!

【注意】此处可能需要先关闭客户机,才能进行还原默认设置!

Linux环境中编译运行C/C++语言程序----安装并测试gcc、g++(详细教程)_第7张图片

切换用户

2、在虚拟机终端命令行执行有时会显示你无权限操作,这时候我们就需要切换到root用户进行操作(root相当于管理员用户),下面分享切换的方法。
注意!若直接在终端输入su,回车,会显示让你输入密码,但,这里需要输入的密码不是登录的密码!!!

我们需要先设置root密码,方法如下:

sudo passwd root(给root设置密码)
提示:输入新的UNIX密码
再次确认:输入UNIX的密码

然后在终端输入命令–>su root,回车(或者只输入su,回车)
输入设置的root密码就可以切换到root用户了!

想要切换到其他用户,则如下操作:

终端输入【su 用户名】就可以切换了,我是xxe,所以【su xxe】,就切换回普通用户xxe啦!
Linux环境中编译运行C/C++语言程序----安装并测试gcc、g++(详细教程)_第8张图片

换源,安装gcc

3、我看网上的说法进行【换源】了,据说旧的版本可能安装不了gcc啥的就需要换个源,反正我是换了,(可能有的小伙伴不用换,直接update下就可以安装gcc了,因个人软件而异吧!)

建议在全部应用程序中找到【软件与更新】并在打开在里面选一个比较快的下载源,挺好的,选择之后会提示重新载入安装包或者更新安装包的,联网可用后点击【重新载入】,等待一会,就可以了,操作截图如下:
Linux环境中编译运行C/C++语言程序----安装并测试gcc、g++(详细教程)_第9张图片
Linux环境中编译运行C/C++语言程序----安装并测试gcc、g++(详细教程)_第10张图片

网上学习的换源方法如下:

1)(修改源)先在终端输入:(gedit后面有个空格)

sudo gedit /etc/apt/sources.list,回车

接着会打开一个文件,在最后面添加下面两行:

deb http://dk.archive.ubuntu.com/ubuntu/ xenial main
deb http://dk.archive.ubuntu.com/ubuntu/ xenial universe

【注意】这两行代码中的“xenial main"和”xenial universe"前面都是有空格的!

2)(更新源)终端输入:

sudo apt-get update,回车

【注意】更新时一定要检查网络连接且可用!!不然你可能会怀疑人生的哈哈哈哈…
网络不可用会出现以下结果:
Linux环境中编译运行C/C++语言程序----安装并测试gcc、g++(详细教程)_第11张图片
3)安装gcc(直接在root用户中安装吧)
在终端输入命令:
【apt-get inatsll gcc】,回车,输入【Y】,回车!等待
Linux环境中编译运行C/C++语言程序----安装并测试gcc、g++(详细教程)_第12张图片
【注意哦!】如果安装到后面出现了很多错误,无法连接的,那就再次运行安装gcc的命令(我是运行了三次命令的,在我看来它会接着安装,就是接上上次错误没安装完就直接结束的地方!)
温馨提醒:安装不完整可能无法正常使用哦!

安装过程截图:(红圈内表示进度!)
Linux环境中编译运行C/C++语言程序----安装并测试gcc、g++(详细教程)_第13张图片
直到出现以下界面:(代表安装成功!)
Linux环境中编译运行C/C++语言程序----安装并测试gcc、g++(详细教程)_第14张图片
此时可输入【gcc】,回车,会出现no input files,这样子表示gcc已经安装成功了!!

此时输入【cc -v】可查看gcc版本信息,如下:
Linux环境中编译运行C/C++语言程序----安装并测试gcc、g++(详细教程)_第15张图片

4)安装g++(root用户,非root用户安装的话前面加sudo)
终端输入命令【apt-get install g++】,回车,输入【Y】,很快就OK了!
Linux环境中编译运行C/C++语言程序----安装并测试gcc、g++(详细教程)_第16张图片

出现如下截图即表示成功安装啦!
简单测试下:输入【g++】,提示【no input files】,则表示g++已成功安装!
Linux环境中编译运行C/C++语言程序----安装并测试gcc、g++(详细教程)_第17张图片

5)安装vim
在终端输入:【apt-get install vim】,回车等待即可完成!这个就不具体展开了哈!

测试gcc(2种方法)

方法一:(文件夹+终端操作)
1、在桌面右键新建文件夹
Linux环境中编译运行C/C++语言程序----安装并测试gcc、g++(详细教程)_第18张图片
2、文件夹名可随意
Linux环境中编译运行C/C++语言程序----安装并测试gcc、g++(详细教程)_第19张图片
3、双击打开刚才新建的文件夹,空白处右键选择【新建文件夹】,名字随意。
Linux环境中编译运行C/C++语言程序----安装并测试gcc、g++(详细教程)_第20张图片
4、双击打开刚新建的文件夹,我的是【xxe21】
Linux环境中编译运行C/C++语言程序----安装并测试gcc、g++(详细教程)_第21张图片
5、空白处右键,选择【在终端打开】
Linux环境中编译运行C/C++语言程序----安装并测试gcc、g++(详细教程)_第22张图片
6、输入touch xxe.c (这里是随意名字.c 就OK)
然后返回到刚新建的内层文件夹,可以看到xxe.c文件,右键,选择【用文本编辑器 打开】
Linux环境中编译运行C/C++语言程序----安装并测试gcc、g++(详细教程)_第23张图片
7、在里面写一段最简单程序,如下:写完后保存,关闭文件
Linux环境中编译运行C/C++语言程序----安装并测试gcc、g++(详细教程)_第24张图片
8、【xxe21】文件夹内空白处,点击右键,选择【在终端打开】
Linux环境中编译运行C/C++语言程序----安装并测试gcc、g++(详细教程)_第25张图片
9、输入【gcc -o xxe xxe.c】或者直接【gcc xxe.c】,后者默认生成的可执行文件名为【a.out】
Linux环境中编译运行C/C++语言程序----安装并测试gcc、g++(详细教程)_第26张图片
最小化终端,在【xxe21】文件夹里面可看到多了个xxe,(记住这名字噢!)
Linux环境中编译运行C/C++语言程序----安装并测试gcc、g++(详细教程)_第27张图片
在下面这里可选择之前最小化的终端,
或者选择在【xxe21】文件夹中空白处右键选择【在终端打开】重新打开一个终端也可以,不影响的!
Linux环境中编译运行C/C++语言程序----安装并测试gcc、g++(详细教程)_第28张图片
输入【./xxe】
(不同人,这里的xxe换成自己实际的文件名字就可以了),输出结果:
1024 Hello World!,测试成功!
Linux环境中编译运行C/C++语言程序----安装并测试gcc、g++(详细教程)_第29张图片
方法二:(纯终端操作)
1、新建个终端,之前用过的也可以,反正就是从桌面新终端开始的就可以。方法有二。
其一:
Linux环境中编译运行C/C++语言程序----安装并测试gcc、g++(详细教程)_第30张图片
其二:
Linux环境中编译运行C/C++语言程序----安装并测试gcc、g++(详细教程)_第31张图片
2、【mkdir software】表示创建名字为software的文件夹,【cd software】表示打开software文件夹,再在software文件夹里执行语句:【mkdir 183】创建名字为183的文件夹,再打开183文件夹
Linux环境中编译运行C/C++语言程序----安装并测试gcc、g++(详细教程)_第32张图片
这里漏了一步,输入【touch 3.c】先创建,再输入【vi 3.c】编辑此文件,进入下张图的界面。
(此处可见,可以不执行创建【3.c】语句,直接执行打开语句,没有的话应该自己就先创建了再打开吧!)
Linux环境中编译运行C/C++语言程序----安装并测试gcc、g++(详细教程)_第33张图片
如果左下角没有插入,则键盘输入i,然后就可以看到左下角有个插入二字,然后就可以键盘输入了,在该界面输入一段最简单的程序。
Linux环境中编译运行C/C++语言程序----安装并测试gcc、g++(详细教程)_第34张图片
Linux环境中编译运行C/C++语言程序----安装并测试gcc、g++(详细教程)_第35张图片
【注意】写完程序后键盘点击【esc】,然后键盘输入【:】,键盘输入wq(左下角可以看到输入的)【表示保存并退出】
在这里插入图片描述

扩展---命令模式
在输入模式下,按ESC可切换到命令模式。命令模式下,可选用下列指令离开vi:
:q!	离开vi,并放弃刚在缓冲区内编辑的内容
:wq	将缓冲区内的资料写入磁盘中,并离开vi
:ZZ	同wq
:x  	同wq
:w	    将缓冲区内的资料写入磁盘中,但并不离开vi
:q	    离开vi,若文件被修改过,则要被要求确认是否放弃修改的内容,
        此指令可与:w配合使用

回到终端,输入:【cc 3.c】回车。
若没有报错则从键盘输入【ls】查看是否生成了可以执行的文件a.out文件。
执行【./a.out】命令便可在终端输出程序运行结果了!
(这里的3.c是之前vi 后面跟着的,随意,名字.c就OK。
执行输出结果命令是:./绿色那个,(绿色是可执行文件)这里是**./a.out**)
Linux环境中编译运行C/C++语言程序----安装并测试gcc、g++(详细教程)_第36张图片
至此,gcc测试圆满完成!

测试g++(2种方法)

方法和gcc测试基本一样的,只是口令稍微换成g++的就OK!

方法一:
gcc测试方法一中代码修改如下:

#include
using namespace std;
int main()
{
cout<<"Hello World!\n";
return 0;
}

终端打开后,编译命令换成【g++ xxe.c】就可以编译了,运行输出结果也是用命令【./ 可执行文件名称

方法二:【ctrl+alt+T】打开终端,创建【hhh】文件夹打开后,再创建【haha】文件夹,再打开后再【touch h.c 】,然后【vi h.c】打开编辑界面
Linux环境中编译运行C/C++语言程序----安装并测试gcc、g++(详细教程)_第37张图片
若左下角没有显示【插入】,键盘输入【i】就有了。
Linux环境中编译运行C/C++语言程序----安装并测试gcc、g++(详细教程)_第38张图片
在里面写一段简单程序,写完后,键盘输入【esc】–>【:】–>【wq】(表示保存并退出)
Linux环境中编译运行C/C++语言程序----安装并测试gcc、g++(详细教程)_第39张图片

然后,终端输入【g++ h.c】,回车,不报错的话键盘输入【ls】查看是否生成了可执行文件,下面的【a.out】便是可执行文件,然后执行【./a.out】,可以看到程序结果【Hello World!】成功输出了!
【说明】:我因为进入编辑后不小心点退出了,所以有两个【vi h.c】命令。正常的话只有一个的哈!
Linux环境中编译运行C/C++语言程序----安装并测试gcc、g++(详细教程)_第40张图片
至此,g++测试完成啦!

以上就是博主在ubuntu系统中配置C/C++语言编译运行环境的过程分享啦!包括一些问题及解决方法,安装使用gcc和g++的详细说明!如有错漏欢迎纠正补充!我也是初次接触这些,期待交流一起进步喽!

安装VMware Tools的话参考这篇文章:
Ubuntu下安装VMware Tools的详细教程
跟我的操作基本一样了,看着一步步来不难的,加油!

下篇博文速戳–>Linux环境中【Visual Studio Code】安装配置及其卸载(详细教程)

觉得还行?想浏览更多分享?速戳–>大白的博客,期待来访哈!

你可能感兴趣的:(操作系统,linux,ubuntu,gcc/gdb编译调试)