centos中gcc升级,boost升级
2015-12-17 15:06
686 查看
这篇博客是在你已经成功下载了gcc源安装包和boost安装包后要看的。
1.gcc升级
centos系统自带的gcc版本较低,一般是在4.47,该gcc版本不支持c++11以上的一些标准,所以在编译c++代码的时候,是必须要升级gcc的。
在编译好gcc以后,并且make install以后 会编译出bin文件和lib文件等 这些文件如果未指定路径的话 默认会出现在/usr/local/bin/gcc 和/usr/local/lib下面,而系统自带的默认gcc是在/usr/bin/gcc 和 /usr/bin/lib下面,此时需要将这两个部分删掉,或者后缀加上.bak,然后过建立软连接的方式链接到/usr/local/下相应的文件下。此处可执行文件gcc会链接过去,同时/usr/bin/c++这个也需要建立软连接过去,软连接的命令是
ln -s /usr/bin/c++ /usr/local/bin/c++
然后,只是修改掉了gcc的版本问题 但是还存在libstdc++最新版本不支持,使用如下指令:
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 此时可以通过find / -name libstdc++.so.6 查找系统的libstdc++来找到该文件 同时通过ll命令可以查看这个东西的软连接的位置。此时需要将这个文件链接到最新的文件上 首先执行
rm libstdc++.so.6
建立软连接:
ln libstdc++.so.6.0.20 libstdc++.so.6 就可以了
boost库的升级:
boost库的版本一般都要在1.5.5以上,会有很多新的特性。
按照boost源安装包的东西进行编译安装,这期间大约要编译半个小时以上
然后将编译出来的东西有lib包和include文件 include文件直接放到/usr/local/include下即可,然后修改下path 添加进去
lib包里的内容需要加到/usr/local/lib下面即可
这些.so的动态链接库是c++可执行文件在运行过程中依赖的,如果不知道一个可执行文件依赖哪些动态链接库的话 可以用ldd 可执行文件 来查看 将这些动态链接库添加到/etc/ld.conf.d.so/下面的配置文件中即可,然后使用ldconfig 将这些东西加载进去。
icuu.so等文件如果找不到的话 是与系统有关的 可以看下其他的系统中有的话 直接拷贝过来既可。
1.gcc升级
centos系统自带的gcc版本较低,一般是在4.47,该gcc版本不支持c++11以上的一些标准,所以在编译c++代码的时候,是必须要升级gcc的。
在编译好gcc以后,并且make install以后 会编译出bin文件和lib文件等 这些文件如果未指定路径的话 默认会出现在/usr/local/bin/gcc 和/usr/local/lib下面,而系统自带的默认gcc是在/usr/bin/gcc 和 /usr/bin/lib下面,此时需要将这两个部分删掉,或者后缀加上.bak,然后过建立软连接的方式链接到/usr/local/下相应的文件下。此处可执行文件gcc会链接过去,同时/usr/bin/c++这个也需要建立软连接过去,软连接的命令是
ln -s /usr/bin/c++ /usr/local/bin/c++
然后,只是修改掉了gcc的版本问题 但是还存在libstdc++最新版本不支持,使用如下指令:
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 此时可以通过find / -name libstdc++.so.6 查找系统的libstdc++来找到该文件 同时通过ll命令可以查看这个东西的软连接的位置。此时需要将这个文件链接到最新的文件上 首先执行
rm libstdc++.so.6
建立软连接:
ln libstdc++.so.6.0.20 libstdc++.so.6 就可以了
boost库的升级:
boost库的版本一般都要在1.5.5以上,会有很多新的特性。
按照boost源安装包的东西进行编译安装,这期间大约要编译半个小时以上
然后将编译出来的东西有lib包和include文件 include文件直接放到/usr/local/include下即可,然后修改下path 添加进去
lib包里的内容需要加到/usr/local/lib下面即可
这些.so的动态链接库是c++可执行文件在运行过程中依赖的,如果不知道一个可执行文件依赖哪些动态链接库的话 可以用ldd 可执行文件 来查看 将这些动态链接库添加到/etc/ld.conf.d.so/下面的配置文件中即可,然后使用ldconfig 将这些东西加载进去。
icuu.so等文件如果找不到的话 是与系统有关的 可以看下其他的系统中有的话 直接拷贝过来既可。
相关文章推荐
- CentOS GCC升级到4.6.1
- CentOS 6.5平台使用CLion开发程序,编译器支持C++11的方法
- linux下gcc升级
- CentOS 升级gcc和gdb
- GCC从4.4.7升级到6.1.0
- Centos7编译安装Node8.9.4
- gcc 升级记
- gcc升级
- gcc升级和node版本过低问题以及node安装问题
- CentOS升级gcc
- CentOS6一键升级GCC4.8
- Ubuntu升级GCC版本
- CentOS/Linux 下升级GCC与G++
- gcc 5.2.0 手动更新(亲测)
- GCC升级至高版本
- Linux如何使用腾讯QQ
- linux的“自动化”
- 最全Pycharm教程(32)——根据FHS在Linux上安装Pycharm
- CENTOS7管理之动态防火墙FIREWALLD
- [解决] [centOS] g++ 带 -static 参数编译时,报错 /usr/bin/ld: cannot find -lm