当前位置: > CentOS > CentOS服务器 > 环境配置 >

CentOS 6 64下 GCC-C++平台搭建

时间:2016-03-18 12:28来源:linux.it.net.cn 作者:it.net.cn
安装方法

自动安装

    yum install gcc     (这是)
    yum install gcc-c++ (这是C++编译器)
    yum install cmake

但是这样并不能安装指定版本 仅能安装系统盘中的版本,下面以centos 6X64 安装gcc 4.8.4为例

自定义安装

1. 安装gcc4.8.4

for 小白(其实我就是一枚)

下面的cd XX 表示进入某个目录 默认情况下在root目录下 
cd .. or ’‘ 表示回到根目录 
wget 表示从网络位置获取一个下载

1) 下载源码

wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.4/gcc-4.8.4.tar.bz2 (可以根据不同的需要更改此处的版本号)

2) 解压并下载编译所需的项目

tar -jxvf  gcc-4.8.4.tar.bz2
cd gcc-4.8.4 
./contrib/download_prerequisites 
cd .. (回到根目录 此处的.可以用空格代替)

3) 生成目录和makefile 并编译

mkdir gcc-build-4.8.4(在root下建立一个目录用来存放)
cd  gcc-build-4.8.4 
../gcc-4.8.4/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
make -j4 (*这一步之后是漫长的等待~ 不要以为是死机了.....*)

4) 安装

sudo make install

5) 检查版本号

gcc --version or -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-unknown-linux-gnu/4.8.4/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
Thread model: posix
gcc version 4.8.4 (GCC)

2. 安装Cmake

1) 获取源 同上

wget http://www.cmake.org/files/v3.4.2/cmake-3.4.2.tar.gz(现已更新到3.5根据个人需要选择,此版本相对比较稳定)

2) 解压并进入目录

tar -zxvf cmake-3.4.2.tar.gz
cd cmake-3.4.2

3) 十分重要也容易报错的部分

./bootstrap
错误1
gmake: “cmake”是最新的。
/home/src/cmake-2.8.12.2/Bootstrap.cmk/cmake: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /home/src/cmake-2.8.12.2/Bootstrap.cmk/cmake)             
尝试运行       
strings /usr/lib/libstdc++.so.6 | grep GLIBCXX  
GLIBCXX_3.4  
GLIBCXX_3.4.1  
GLIBCXX_3.4.2  
GLIBCXX_3.4.3  
GLIBCXX_3.4.4  
GLIBCXX_3.4.5  
GLIBCXX_3.4.6  
GLIBCXX_3.4.7  
GLIBCXX_3.4.8  
GLIBCXX_3.4.9  
GLIBCXX_3.4.10  
GLIBCXX_3.4.11  
GLIBCXX_3.4.12  
GLIBCXX_3.4.13  
GLIBCXX_FORCE_NEW  
GLIBCXX_DEBUG_MESSAGE_LENGTH  
此为libstdc++.so.6版本较低造成 
从网络上获取
wget http://ftp.de.debian.org/debian/pool/main/g/gcc-4.7/libstdc++6_4.7.2-5_i386.deb (根据需求获取)
tar -x libstdc++6_4.7.2-5_i386.deb && tar xvf data.tar.gz  
从刚刚安装的gcc入手
顺着gcc安装路径,找到了新的libstdc++:
strings /usr/local/lib64/libstdc++.so.6.0.20|grep GLIBCXX(此处6.后面的视版本而定)
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH

不错这里就有合乎要求的

结合前两种 继续
cp /usr/local/lib/libstdc++.so.6.0.20  /usr/lib/ (复制到usr目录下)
cd /usr/lib/ (到该目录)
rm -f libstdc++.so.6  (删除老的lib)
ln -s libstdc++.so.6.0.20 libstdc++.so.6 (重新建立链接)
strings /usr/lib/libstdc++.so.6 | grep GLIBCXX (再次查看)

注意lib64下的目录也要更新! 这里不再赘述 改改后缀即可

错误2
Error when bootstrapping CMake:  
Cannot find appropriate C(或者是C++) compiler on this system.  
Please specify one using environment variable CC.  
See cmake_bootstrap.log for compilers attempted.  

缺少合适的C/C++编译器, 此时应关注gcc的版本是否匹配,本例中应该是匹配的!~

4) 后续安装

gmake
gmake install
cmake --version

3. 验证

  //fir.cc
#include <iostream>
using namespace std;

int main()
{    
    cout <<"Hello world!" <<endl;
    return 0;
}
cmd中输入
g++ -std=c++11 -o fir fir.cc
./fir.cc(如果不能运行 说明未提供权限 加上权限 chmod +x fir.cc)


(责任编辑:IT)
------分隔线----------------------------