Centos下安装Gcc和Qt
因为可能以后还会用到,所以把这两个工具的安装过程记录下来,同时把踩过的坑记录下来,方便下次爬坑。
安装环境:Centos 7
工具版本:Gcc 8.2.0 , Qt 5.9.2
安装Qt
1.下载,运行
wget http://download.qt.io/archive/qt/5.9/5.9.2/qt-opensource-linux-x64-5.9.2.run
chmod a+x qt-opensource-linux-x64-5.9.2.run (更改.run文件的权限,否则运行时会提示权限不够)
./qt-opensource-linux-x64-5.9.2.run
2.安装
终端执行万上面两条命令后,会弹出图形安装向导,提示让注册登陆的就跳过,需要设置安装路径的自己选择一下,需要安装的工具如下图所示,其他的都是绿灯。
3.修改环境变量
终端输入:vim /etc/profile
在最后一行添加
export PATH="/opt/Qt5.9.2/5.9/gcc_64/bin:$PATH"
export PATH="/opt/Qt5.9.2/Tools/QtCreator/bin:$PATH"
之后可以在应用程序中找到Qt Creator,安装成功。
安装Gcc
1.下载
地址:http://mirror.hust.edu.cn/gnu/gcc/,打开此网址可以看到各种版本gcc,点进去某版本可以看到各种后缀的压缩包,例如,我想下载8.2版本的,直接在此地址后拼接 gcc-8.2.0/gcc-8.2.0.tar.gz 就可以
2.解压
找到你下载的压缩包的位置,解压到制定文件夹,例如:我下载到了 /home/Admin 下,要解压到 /usr/local/src/gcc 文件夹下,那在终端中就要输入以下命令:
cd /home/Admin #首先进入压缩包所在文件夹
tar -zxvf gcc-8.2.0.tar.gz -C /usr/local/src/gcc #解压到制定文件夹
3.下载依赖包
进入gcc-8.2.0解压目录,执行命令: ./contrib/download_prerequisites
4.编译安装
还是在gcc-8.2.0的解压目录下,
新建目录build: mkdir build
进入目录build: cd build
编译指令: ../configure --prefix=/usr/local/src/gcc/gcc-8.2.0/ --enable-checking=release --enable-languages=c,c++ --disable-multilib
其中-prefix=path,install architecture-independent files in PREFIX(在前缀中安装独立于体系结构的文件),意思是可以指定安装目录,如果不指定将会默认安装在/usr/local/share目录下,同时要注意/configure前是两个点,不是一个也不是三个。还有,要想了解其他参数可以通过 ./configure --help 来了解。
5.安装
安装指令: make && make install
安装时间较长,请耐心等待
6.配置环境变量
现在在终端中查看gcc版本,还是系统的默认版本4.8.x,现在我们修改系统环境变量
打开.bashrc文件(该文件包含专用于某个用户的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取.)
vim ~/.bashrc
添加默认路径
export PATH=/usr/local/src/gcc-8.2.0/bin:$PATH
7.动态库配置
在build目录下:
find / -name "libstdc++.so*"
cp ./stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.25 /usr/lib64
ldconfig
在终端中查看版本,已经更改,说明已经成功。
遇到的坑
在输入gcc编译指令后,可能会出现‘configure: error: no acceptable C compiler found in $PATH’这样的错误,
网上分析的原因有三种:1.没安装C编译器,2.没有把编译器配置到PATH变量中,3.缺少组件
网上给出的办法是:1.没有编译器就没有办法进行源码安装的,只能通过软件包来安装,或直接二进制安装,或者用yum安装(yum -y install gcc gcc-c++ gdb)2.有编译器的,把路径配置到PATH中。3.缺少组件的解决方法并没有说。
我的解决办法:我找到一篇解决安装python时没有c编译器的文章,用yum安装开发工具,然后再用./configure进行编译就好了,yum安装开发工具的命令是这样的:yum groupinstall "Development tools"