2009年8月3日星期一

opera for linux 版本的区别

opera-10.00-b1.gcc4-qt4.i386.rpm
opera-10.00-b1.gcc4-static-qt3.i386.rpm
一种是用Qt4开发,一种是用Qt3开发。如果你系统有Qt4/Qt3的话,安装第一种或者shared目录里的; 否则就安装static版的。

opera-10.00-b2.gcc4-bundled-qt4.i386. tar.gz
opera-10.00-b2.gcc4-qt4.i386.tar.gz
bundbled 里面有 usr/lib/opera/libQtGui.so.4 和 usr/lib/opera/libQtCore.so.4 这两个文件,并且 opera 里多了这么几行:
代码:
~% diff -u ./opera-10.00-4502.gcc4-qt4.x86_64/opera ./opera-10.00-4502.gcc4-bundled-qt4.x86_64/opera
--- ./opera-10.00-4502.gcc4-qt4.x86_64/opera 2009-07-21 18:50:22.000000000 +0800
+++ ./opera-10.00-4502.gcc4-bundled-qt4.x86_64/opera 2009-07-21 18:53:27.000000000 +0800
@@ -352,6 +352,19 @@
fi
done

+# Use Qt provided by the host, if available. Set OPERA_QT_LIBPATH to override the path to Qt shared libraries.
+if [ -z "$OPERA_QT_LIBPATH" ]; then
+ OPERA_QT_LIBPATH=`LD_PRELOAD=libQtGui.so.4 LD_TRACE_LOADED_OBJECTS=1 usr/lib/opera/works 2>/dev/null | sed -ne '/^.*libQtCore\.so\.4 => \(.*\)\/libQtCore\.so.*$/s//\1/p'`
+fi
+if [ -n "$OPERA_QT_LIBPATH" ]; then
+ if [ -r "$OPERA_QT_LIBPATH/libQtCore.so.4" -a -r "$OPERA_QT_LIBPATH/libQtCore.so.4" ]; then
+ LD_PRELOAD="$OPERA_QT_LIBPATH/libQtCore.so.4:$OPERA_QT_LIBPATH/libQtGui.so.4${LD_PRELOAD:+:}$LD_PRELOAD"
+ export LD_PRELOAD
+ else
+ echo "Cannot find Qt shared libraries in $OPERA_QT_LIBPATH" >&2
+ fi
+fi
+
# Setting environment relative to current working directory
# Bundled Qt will be found here unless preloaded by the stance above
LD_LIBRARY_PATH="$PWD/usr/lib/opera${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"

看样子貌似是在系统里没有 Qt4 的时候用自带的,有的话还是用系统的~ 看来 qt4 版本的都不是静态链接的了~

没有评论: