主题 : 【求教】Qtopia编译出错:libQtGui.so: undefined reference to `deflateInit2_' 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 16599
精华: 0
发帖: 22
金钱: 110 两
威望: 22 点
综合积分: 44 分
注册时间: 2010-03-19
最后登录: 2017-09-13
楼主  发表于: 2011-06-07 15:36

 【求教】Qtopia编译出错:libQtGui.so: undefined reference to `deflateInit2_'

【求教】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的库和头文件的路径,编译的时候依然出错!