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)
安装方法
自动安装yum install gcc (这是) yum install gcc-c++ (这是C++编译器) yum install cmake 但是这样并不能安装指定版本 仅能安装系统盘中的版本,下面以centos 6X64 安装gcc 4.8.4为例 自定义安装1. 安装gcc4.8.4for 小白(其实我就是一枚)
下面的cd XX 表示进入某个目录 默认情况下在root目录下 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. 安装Cmake1) 获取源 同上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 错误1gmake: “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下的目录也要更新! 这里不再赘述 改改后缀即可 错误2Error 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) |