- 前言
由于webkit对于多种系统库的要求版本比较高,因此要在CentOS6上边编译Qt5.5.1的webkit应用,那是相当麻烦,需要升级、安装各种依赖库,经过一天的折腾,总算是顺利完成了编译,在此记录一下。注意:由于gcc编译时间很长,因此检建议等下班或空闲时间进行编译升级。
- 升级依赖库
需要升级的系统库:gcc至4.8.1以上,glibc2.17以上,glib2.36以上,gstreamer和gst-plugins-base至0.10.36以上,这些都是最低要求版本,因为版本越高需要的依赖库可能就越多,因此不建议升级太高版本,直接升级至以上所说版本即可。升级过程中,如果还提示缺少其他依赖库,使用yum install进行安装即可。
- 升级gcc至4.8.1以上
gcc需要升级至4.8.1以上,由于centos7.4上边自带gcc为4.8.5,已顺利完成编译,因此我选择了跟centos7.4保持一致,选择4.8.5版本
wget https://ftp.gnu.org/gnu/gcc/gcc-4.8.5/gcc-4.8.5.tar.gz
tar -xvf gcc-4.8.5.tar.gz
cd gcc-4.8.5
./contrib/download_prerequisites
mkdir gcc-build-4.8.5
cd gcc-build-4.8.5
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
make && make install
然后更新glibstdc++库
cp ./stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.19 /usr/lib64/
cd /usr/lib64
mv libstdc++.so.6 libstdc++.so.6.bak #备份
ln -s libstdc++.so.6.0.19 libstdc++.so.6 #创建软连接,替换原来的libstdc++.so.0
因为我之前已经将libstdc++替换成了libstdc++.so.6.0.23,因此不确定该版本是否能用,如果不能用可前往:libstdc++.so.6.0.23下载替换。
参考文章:CentOS 6.6 升级GCC G++
2.升级glibc至2.17以上
wget http://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gz
tar -zxvf glibc-2.17.tar.gz
mkdir glibc-2.17-build
cd glibc-2.17-build
../glibc-2.17/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make && make install
# 查看是否升级成功
ll /lib64/libc*
参考文章: Linux升级glibc
3.升级glib至2.36以上
wget http://ftp.gnome.org/pub/GNOME/sources/glib/2.36/glib-2.36.0.tar.xz
xz -d glib-2.36.0.tar.xz #如果xz未安装,则使用yum install xz安装即可
tar -xvf glib-2.36.0.tar
cd glib-2.36.0
./configure --prefix=/usr/local/
export LD_LIBRARY_PATH=/usr/local/lib
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
make && make install
参考文章:glib的升级
4.升级gstreamer和gst-plugins-base至0.10.36
wget https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-0.10.36.tar.gz
wget https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-0.10.36.tar.gz
tar -xvf gstreamer-0.10.36.tar.gz
tar -xvf gst-plugins-base-0.10.36.tar.gz
cd gstreamer-0.10.36
./configure --prefix=/usr/local/gst10 && make && make install
cd ../
cd gst-plugins-base-0.10.36
./configure --prefix=/usr/local/gst10 && make && make install
然后在工程pro文件中引入gstreamer的lib库以及include
LIBS += -L/usr/local/gst10/lib -lgstbase-0.10 -lgstinterfaces-0.10
INCLUDEPATH += /usr/local/gst10/include
- 结束
至此,所有依赖库升级完成,见证奇迹的时刻就要到了!!!如果以上步骤都顺利完成,不出意外,你的项目已经可以顺利编译了,快去试试吧!
~~~~~~~~~~~~~~~~~~~~~~ 你必须非常努力,才能显得毫不费力 ~~~~~~~~~~~~~~~~~~~~~~