您的位置:首页 > 运维架构 > Linux

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等文件如果找不到的话 是与系统有关的 可以看下其他的系统中有的话 直接拷贝过来既可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  gcc升级 boost升级