centos7编译draco1.3.3源码含升级gcc 5.4.0升级cmake3.5.2过程

最近喜欢上了draco压缩3d模型,越发不可收拾,draco性能非常强劲,压缩比很高。通常一个100M的obj格式的模型压缩后只有5M左右,很好的解决obj模型文件较大,快速在网络传输的问题。我服务器选型centos7.5 minial (官网版本号1804)安装,网上找了一圈没找到centos 7 下draco安装包,draco必须使用更高的gcc和cmake版本,于是自己动手丰衣足食。整个过程需要***,因此此文最后我提供了需要下载的所有依赖包,过程如下。

升级gcc 5.4.0

1.获取按转包并解压 (此处使用5.4.0) 
cd /usr/local/src 
wget https://ftp.gnu.org/gnu/gcc/gcc-5.4.0/gcc-5.4.0.tar.bz2 

避免***gcc-5.4.0.tar.bz2

yum -y install bzip2
tar -jxvf gcc-5.4.0.tar.bz2 
2.下载依赖 
cd gcc-5.4.0 
./contrib/download_prerequisites 
3.生成makefile 
mkdir gcc-build-5.4.0 
cd gcc-build-5.4.0 
../configure –enable-checking=release –enable-languages=c,c++ –disable-multilib 
4.编译,安装 
make
make install

解决运行程序gcc出现’GLIBCXX_3.4.21’ not found 问题
这是因为升级gcc时,生成的动态库没有替换老版本gcc的动态库导致的,将gcc最新版本的动态库替换系统中老版本的动态库即可解决,运行以下命令检查动态库: 
strings /lib64/libstdc++.so.6 | grep GLIBC

从输出结果可以看到并没有“GLIBCXX_3.4.21“,所以可以断定我们的程序运行时动态加载的是老的动态库,解决这个问题需要将当前链接文件的链接指向改成最新的动态库地址: 
cp /usr/local/lib64/libstdc++.so.6.0.21 /lib64 
cd /lib64 
rm -rf libstdc++.so.6 
ln -s libstdc++.so.6.0.21 libstdc++.so.6 
然后你可以执行以下命令来查看’GLIBCXX_3.4.21’已经可以找到了

5、看看gcc版本

gcc -v

升级cmake 3.5.2

1、wget https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz

      避免***cmake-3.5.2.tar.gz
2、可以编译安装
cmake-3.5.2.tar.gz
tar zxf cmake-3.5.2.tar.gz
cd cmake-3.5.2.tar.gz
./bootstrap && gmake && gmake install

3、查看版本

cmake -version

编译draco

1、下载源码 https://codeload.github.com/google/draco/tar.gz/1.3.3

避免*** draco-1.3.3.tar.gz

2、解压

tar -zxvf draco-1.3.3.tar.gz

3、创建新目录,必须创建新的不然会提示你创建新目录
mkdir draco-build-1.3.3
cd draco-build-1.3.3
cmake -D CMAKE_C_COMPILER=/usr/local/bin/gcc -D CMAKE_CXX_COMPILER=/usr/local/bin/g++ ../draco-1.3.3


make
make install

 

将female02.obj上传至自己的目录,我上传到/home/data/ 这个目录做事例

./draco_encoder -i /home/data/female02.obj -o /home/data/femal302.drc

转换成功后见下图,源文件590KB,压缩后23KB


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部