安装方法
自动安装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) |