【求教】Qtopia编译出错:libQtGui.so: undefined reference to `deflateInit2_'
我的编译环境是rh9.0
交叉编译器是arm-none-linux-gnucabi-all 版本是4.2.3
前几天在编译qtopia-core-opensource-4.3.3的时候就遇到过这个问题,当时查了资料明白是zlib在作怪,于是自己下载了zlib解压安装,在配置那里添加自己的zlib路径 就可以搞定,由于qtopia-core-opensource没有主程序,我想再编译个qtopia-opensource 在按照网上教程一步一步做下来的时候,在gmake的时候就又发生了上述的错误?
先说一下的我操作步骤:
1、tar xzvf qtopia-opensourse-4.3.3.tar.gz
2、修改源码:
# vi src/libraries/qtopia/qtimezone.cpp
将/usr/share/zoneinfo/ 改为/mnt/nfs/qtopia4/qtopiatslibtarget/zoneinfo/,保存退出。
# vi src/settings/systemtime/settime.cpp(可能是版本问题,我下的4.3.3没有发现这个)
将318行的 /usr/share/zoneinfo/ 改为/mnt/nfs/qtopia4/qtopiatslibtarget/zoneinfo/ ,保存退出。
3、裁减Qtopia core的库
# vi qtopiacore/qconfig-qpe.h
首先注释掉关于鼠标光标的宏定义,让程序运行时,触摸屏中央有光标出现:
// Qtopia Core
/*
#ifndef QT_NO_QWS_CURSOR
# define QT_NO_QWS_CURSOR
#endif
*/
/*
#ifndef QT_NO_QWS_MOUSE
# define QT_NO_QWS_MOUSE
#endif
#ifndef QT_NO_QWS_MOUSE_AUTO
# define QT_NO_QWS_MOUSE_AUTO
#endif
*/
其它宏定义根据需要进行注释。
保存后将qconfig-qpe.h拷贝到global目录。
# cp qtopiacore/qconfig-qpe.h qtopiacore/qt/src/corelib/global/qconfig-qpe.h
3、注释掉其他文件里的QT_NO_QWS_CURSOR的定义
# vi qtopiacore/qt/src/corelib/global/qfeatures.h
注释掉如下内容:
/*
#if !defined(QT_NO_QWS_CURSOR) && (defined(QT_NO_CURSOR))
#define QT_NO_QWS_CURSOR
#endif
*/
保存退出。
# vi qtopiacore/qt/src/corelib/global/qglobal.h
注释掉以下内容:
// #define QT_NO_QWS_CURSOR
4、在路径src/libraries/qtopiabase/下复制(这一步也搞不懂)
cp -f custom-linux-generic-g++.cpp custom-linux-arm-g++.cpp
cp -f custom-linux-generic-g++.h custom-linux-arm-g++.h
5、这里就是配置了
echo "yes" |../qtopiainstall/configure -edition phone -xplatform linux-arm-g++ -arch arm -no-qvfb -release -no-modem -quicklaunch -defaultbuttons phone -prefix /root/workdir/filesys/opt/qtopia -no-bluetooth -no-drm -no-infrared -extra-qt-config "–system-zlib –I /home/fan/QTE/qtopia/zlib-1.2.3/build/include –L /home/fan/QTE/qtopia/zlib-1.2.3/build/lib -qt-gif -qt-libpng -qt-libmng -qt-libjpeg" -extra-qtopiacore-config “-depths 16,24 -qt-mouse-tslib –I /home/fan/QTE/tslib1.4/tslib/build/include –L /home/fan/QTE/tslib1.4/tslib/build/lib”
这里我指定了 zlib的库和头文件的路径,编译的时候依然出错!