linux ubuntu gcc,ubuntu centos debian

ubuntu之gcc、g++版本管理

在Ubuntu系统中管理gcc与g++版本对于不同C/C++项目的编译至关重要。不匹配的版本可能导致Cmake和make无法正常运行。

首先,我们需要查看当前的g++和gcc版本,以便了解系统中已安装的版本。通过运行相关命令,可以轻松获取这些信息。

接着,查看系统中已存在的gcc和g++版本目录,确保所使用版本符合项目需求。

为了确保安装与项目匹配的gcc和g++版本,我们需要添加源。通过添加合适的源,可以获取最新或特定版本的编译器。

安装对应项目的gcc和g++版本,确保在开发过程中使用正确的编译器版本。安装步骤通常涉及使用包管理器命令。

利用update-alternatives工具,可以支持在不同gcc和g++版本间进行切换,便于灵活管理系统的编译器版本。

另外,使用update-alternatives命令的--config选项,可以基于特定的配置在不同版本之间进行切换,确保编译环境的灵活性。

检查版本切换是否成功,确保系统已经正确使用了所需的gcc和g++版本。

在使用Linux进行C/C++编译时,还需注意两个常见问题:第一,有时需要显示地export gcc和g++的环境变量,以确保编译器版本生效。第二,每次执行cmake时,应先清除cmake的cache,然后重新编译,以避免出现重复错误。

ubuntu下怎么安装arm-linux-gcc

1、将压缩包arm-linux-gcc-4.4.3.tar.gz存放在一个目录下,这个目录就是你等会解压缩的目录,以后这个目录就不能随便删掉了,我的存放路径是/home/song/software,如下图,记住这个路径,等会还会用到。

2、使用tar命令:tar zxvf arm-gcc-4.4.3.tar.gz将software文件夹下的arm-linux-gcc-4.4.3.tar.gz解压缩安装到当前目录下如下图

通过下图可以看到解压成功了,并且解压后的文件存放在了/home/song/software/opt/FriendlyARM/toolschain/4.4.3文件夹下,如下图所示,这个存放路径可得记住,如下图

3、接下来配置系统环境变量,把交叉编译工具链的路径添加到环境变量PATH中去,这样就可以在任何目录下使用这些工具。记下上一步中的安装路径,使用命令:vim/etc/profile编辑profile文件,添加环境变量。

在profile中最后一行添加: export PATH=$PATH:/home/song/software/opt/FriendlyARM/toolschain/4.4.3/bin这个路径就是那个bin目录所在的路径,可能你的不一样,按照你实际的目录填就可以了,如下图32行

编写完保存就好了

4、使用命令:source/etc/profile使环境变量生效

5、在终端上输入命令 arm-linux再按Tab键,可以显示出命令列表,说明环境变量设置成功了

6、使用命令:arm-linux-gcc-v会出现下面的错误提示:/home/song/software/opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux-gcc: 15: exec:/home/song/software/opt/FriendlyARM/toolschain/4.4.3/bin/.arm-none-linux-gnueabi-gcc: not found

说是出现这种问题的原因是由于Ubuntu12.04用的是64位的,解决方法就是使用命令:sudo apt-get install ia32-libs装一些32位的库

7、待安装完32位的库之后,再使用命令:arm-linux-gcc-v,这一次就成功了

8、验证,编译一个hello.c文件

使用命令:arm-linux-gcc hello.c-o hello看是否编译成功

ubuntu怎么安装gcc

是网上查阅后总结的,,可能会相似

在Ubuntu下安装GCC和其他一些Linux系统有点不一样。

方法一:

该方法超简单:

sudo apt-get build-depgcc

就上面这条命令就可以搞定

方法二:

sudo apt-get install build-essential

还是简单,一句命令也可以搞定

安装完了可以执行

gcc--version

的命令来查看版本,输出如下:

gcc(GCC)4.2.3(Ubuntu4.2.3-2ubuntu7)

Copyright(C)2007FreeSoftwareFoundation,Inc.

编译则使用gcc命令。要往下学习首先就得熟悉gcc命令的用法。

gcc命令提供了非常多的命令选项,但并不是所有都要熟悉,初学时掌握几个常用的就可以了,到后面再慢慢学习其它选项,免得因选项太多而打击了学习的信心。

一.常用编译命令选项

假设源程序文件名为test.c。

1.无选项编译链接

用法:#gcc test.c

作用:将test.c预处理、汇编、编译并链接形成可执行文件。这里未指定输出文件,默认输出为a.out。

2.选项-o

用法:#gcc test.c-o test

作用:将test.c预处理、汇编、编译并链接形成可执行文件test。-o选项用来指定输出文件的文件名。

3.选项-E

用法:#gcc-E test.c-o test.i

作用:将test.c预处理输出test.i文件。

4.选项-S

用法:#gcc-S test.i

作用:将预处理输出文件test.i汇编成test.s文件。

5.选项-c

用法:#gcc-c test.s

作用:将汇编输出文件test.s编译输出test.o文件。

6.无选项链接

用法:#gcc test.o-o test

作用:将编译输出文件test.o链接成最终可执行文件test。

7.选项-O

用法:#gcc-O1 test.c-o test

作用:使用编译优化级别1编译程序。级别为1~3,级别越大优化效果越好,但编译时间越长。

二.多源文件的编译方法

如果有多个源文件,基本上有两种编译方法:

[假设有两个源文件为test.c和testfun.c]

1.多个文件一起编译

用法:#gcc testfun.c test.c-o test

作用:将testfun.c和test.c分别编译后链接成test可执行文件。

2.分别编译各个源文件,之后对编译后输出的目标文件链接。

用法:

#gcc-c testfun.c//将testfun.c编译成testfun.o

#gcc-c test.c//将test.c编译成test.o

#gcc-o testfun.o test.o-o test//将testfun.o和test.o链接成test

以上两种方法相比较,第一中方法编译时需要所有文件重新编译,而第二种方法可以只重新编译修改的文件,未修改的文件不用重新编译。

阅读剩余
THE END