centos中gcc升级,boost升级

来源:互联网 发布:unity3d培训 编辑:程序博客网 时间:2024/05/22 09:43

这篇博客是在你已经成功下载了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等文件如果找不到的话 是与系统有关的 可以看下其他的系统中有的话 直接拷贝过来既可。



0 0