||
Linux操作系统中编译安装GCC详解以及需要注意的问题
虽然用yum install xxx (RedHat、CentOS、Fedora系列的Linux) 或 apt-get install xxx (Debian、Ubuntu、Mint系列的Linux)可以很轻松地装上各种语言的编译器 (gcc, g++/gcc-c++, gfortran/gcc-gfortran, gccgo, etc.)。但是,这样不能安装指定版本的GCC编译器, 而下载相应版本的GCC源码包,再编译安装,就可以解决这个问题。我都喜欢用最新版的,所以选择了编译安装,在Debian 7.0 (32bit)下安装GCC 4.8.1, 折腾了半天,终于搞定了,期间Google/Baidu了很多次。
(PS:用GCC 4.8.1可以体验C11和C++11 新标准中的特性。)
步骤如下:
0 打开Debian Linux的终端,切换为root用户,从而拥有了root权限,可以装软件了。
只要含有"install"的命令都需要root权限。
1 准备工作:
1.1 由于是编译安装,所以要有可用的编译器,否则无法编译。
安装GCC中的C语言和C++语言的编译器:
apt-get install gcc
apt-get install g++
apt-get install build-essential (其实不用装这个了,上面两句就行了)
apt-get install make (没装这个的必须装上)
1.2 编译安装GCC需要GMP、MPFR、MPC这三个库:
到各自官网下载,解压,进入解压后的目录,安装命令见INSTALL或者ReadMe文件,
其实就是这4个安装命令:
./configure (可以指定安装目录)
make
make check
make install
注意3个库的安装顺序,由于依赖关系,必须最后安装MPC。
1.3 上面装的3个库,GCC找不到,需要设置变量 LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/lib (在终端里运行这行命令, 下次开机失效)
或更改~/.profile文件,在文件的最后加上一行:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib (需先注销,永久有效)
1.4 还要安装zip:
apt-get install zip
2 编译安装最新版的GCC
先下载, Google it, 去官网下载。
创建一个目录,用于放置安装好了的GCC,比如目录"/usr/local/gcc-4.8.1"
解压GCC源码包,假如解压到了这个路径下"/home/yp/gcc-4.8.1"
mkdir /usr/local/gcc-4.8.1 (已经先切换为了root用户)
cd /usr/local/gcc-4.8.1
pwd (显示当前目录,看对不对,是不是目录/usr/local/gcc-4.8.1)
/home/yp/gcc-4.8.1/configure --prefix=/usr/local/gcc-4.8.1/ (配置)
make
make install
期间若遇到其它问题,请Google/Baidu
3 建立软链接
ln -s /usr/local/gcc-4.8.1/bin/gcc /usr/bin/gcc48
ln -s /usr/local/gcc-4.8.1/bin/g++ /usr/bin/g++48
ln -s /usr/local/gcc-4.8.1/bin/gfortran /usr/bin/gfortran48
这样原来的GCC任然可以用,新安装的被叫做了gcc48
假设分别有C, C++, Fortran, Go程序各一个,
名字依次为a1.c, a2.cpp, a3.f, a4.go
若用原来的GCC编译:
gcc a1.c -o a1
g++ a2.cpp -o a2
gfortran a3.f -o a3
gccgo a4.go -o a4
若用新安装的GCC编译:
gcc48 a1.c -o a1
g++48 a2.cpp -o a2
gfortran48 a3.f -o a3
GCC还包括其他语言的编译器,安装也很方便, 全部包括:
C, C++, Objective-C, Fortran, Java, Ada, and Go,
as well as libraries for these languages (libstdc++, libgcj,...)
详见http://gcc.gnu.org/
安装命令比如:
apt-get install gobjc (Objective-C,先切换为root用户)
apt-get install gcj (Java)
apt-get install gnat (Ada)
apt-get install gccgo (Go)
RedHat、CentOS、Fedora系列的Linux安装GCC的详细过程请见:
http://www.cnblogs.com/chuncn/archive/2010/10/15/1851853.html
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-29 07:30
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社