qtopia-free-2.2.0编译记录
2010-03-24 19:34
323 查看
环境ubuntu9.10 ,编译器eldk41_gcc40,ubuntu系统是重新装过的,没有安装任何额外库
1.生成x86版本及qvfb等工具
tar -xzf qtopia-free-2.2.0.tar.gz
cd qtopia-free-2.2.0
./configure -qpe "-prefix=/usr/local/qtopia"
make
make install
整个编译过程中,会因为ubuntu默认没有下面几个库而出现错误,依次安装即可
build-essential 包括了开发工具,当然是x86版本的,也就是pc linux用的
libjpeg62-dev x86版本的jpeg库
uuid-dev x86版本的uuid库
libxext-dev x86版本的X库
apt-get install pk_name
2.arm版本
tar -xzf qtopia-free-2.2.0.tar.gz
cd qtopia-free-2.2.0
vi qtopia/mkspecs/qws/arm-linux-g++/qmake.conf
修改
QMAKE_LIBS_QT = -lqte
为
QMAKE_LIBS_QT = -lqte -lpng -lts -lz -luuid -ljpeg
当然,不修改的话,需要将马上用到的额外库放在编译器lib目录下
cd qtopia/src/libraries/qtopia
cp custom-linux-ipaq-g++.cpp custom-linux-arm-g++.cpp
cp custom-linux-ipaq-g++.h custom-linux-arm-g++.h
vi qtopia/src/qt/qconfig-qpe.h
增加
#define QT_QWS_IPAQ
#define QT_QWS_IPAQ_RAW
是qt支持触摸屏,当然没有即是不支持
去掉
#define QT_NO_QWS_CURSOR
#define QT_NO_QWS_MOUSE_AUTO
#define QT_NO_QWS_MOUSE_PC
支持鼠标,当然保留即是不支持
(以上说法并未检验)
cp qtopia/src/qt/qconfig-qpe.h qt2/src/tools
mkdir libs includes
jpeg png z ts uuid等库放到libs,相应头文件放到includes即可,其中z uuid库eldk已经带有,需要自己交叉编译jpeg png ts三个库,
编译方法网络上很多方法
./configure -qte "-embedded -xplatform linux-arm-g++ -qconfig qpe -no-qvfb -depths 24 -system-jpeg -system-libpng -system-zlib -tslib -gif -thread -no-xft -release -I$PWD/includes -L$PWD/libs" -qpe '-xplatform linux-arm-g++ -edition pda -displaysize 320x240 -I$PWD/includes -L$PWD/libs"
make
make install
之后,在qtopia/image/opt/下生成了qtopia的arm版本
3.x86版本的使用
常用的是qvfb工具和qdesigner工具,这两个工具的使用需要设置LD_LIBRARY_PATH指向qt2/lib,当然任何能找到动态库的方法均可,一般在命令行下运行,能够看到是否是因为动态库so没有而运行失败
qvfb可以使用后,接着模拟运行x86版本的qpe,需要设置LD_LIBRARY_PATH指向生成的动态库即qtopia/image/opt/qtopia/lib,QTDIR和QPEDIR指向生成的qtopia目录即qtopia/image/opt/qtopia即可,同时,需要将qt2/lib下的fonts目录copy到qtopia/image/opt/qtopia/lib/下,此时可以模拟qpe
4.arm版本的使用
需要把安装的qtopia目录整体复制到开发板的任意目录下, 同时所有使用到的第三方库放在qtopia/lib下即可
同3,arm上运行需要设置LD_LIBRARY_PATH QTDIR QPEDIR三个环境变量,QTDIR QPEDIR指向qtopia目录所在位置,LD_LIBRARY_PATH指向qtopia/lib即可
5.减肥
<1>删除部分字体,默认是helvetica,使用fixed即可,-qpe配置加上-fontfamilies fixed即可,除fontdir和fontlots均删除
6.显示中文
显示中文有2个条件,第一是支持汉字字符集,第二是系统有汉字库,qtopia默认没有开启unicode的支持,去掉qtopia/src/qt/qconfig-qpe.h 关于 #define QT_NO_CODECS的定义,即注释掉,即可支持unicode编码,即支持中文,qtopia默认的unifont字体可以显示中文,这样默认unifont字体编译即可;
7.中文化
显示中文和中文化不同,中文化是在程序彻底支持中文,qtopia本身已经做了国际化支持,通过转换机制,使用i18n下语言夹,下面的qm文件进行替换,即可中文化了
8注意:
为了节省空间,一般都要动态生成dev,那么面临一个问题是usb鼠标的热拔插问题,而不定义qtopia的usb鼠标变量,有时候会造成usb与串口冲突,解决办法也很简单,鼠标设备文件设置成mice即可
1.生成x86版本及qvfb等工具
tar -xzf qtopia-free-2.2.0.tar.gz
cd qtopia-free-2.2.0
./configure -qpe "-prefix=/usr/local/qtopia"
make
make install
整个编译过程中,会因为ubuntu默认没有下面几个库而出现错误,依次安装即可
build-essential 包括了开发工具,当然是x86版本的,也就是pc linux用的
libjpeg62-dev x86版本的jpeg库
uuid-dev x86版本的uuid库
libxext-dev x86版本的X库
apt-get install pk_name
2.arm版本
tar -xzf qtopia-free-2.2.0.tar.gz
cd qtopia-free-2.2.0
vi qtopia/mkspecs/qws/arm-linux-g++/qmake.conf
修改
QMAKE_LIBS_QT = -lqte
为
QMAKE_LIBS_QT = -lqte -lpng -lts -lz -luuid -ljpeg
当然,不修改的话,需要将马上用到的额外库放在编译器lib目录下
cd qtopia/src/libraries/qtopia
cp custom-linux-ipaq-g++.cpp custom-linux-arm-g++.cpp
cp custom-linux-ipaq-g++.h custom-linux-arm-g++.h
vi qtopia/src/qt/qconfig-qpe.h
增加
#define QT_QWS_IPAQ
#define QT_QWS_IPAQ_RAW
是qt支持触摸屏,当然没有即是不支持
去掉
#define QT_NO_QWS_CURSOR
#define QT_NO_QWS_MOUSE_AUTO
#define QT_NO_QWS_MOUSE_PC
支持鼠标,当然保留即是不支持
(以上说法并未检验)
cp qtopia/src/qt/qconfig-qpe.h qt2/src/tools
mkdir libs includes
jpeg png z ts uuid等库放到libs,相应头文件放到includes即可,其中z uuid库eldk已经带有,需要自己交叉编译jpeg png ts三个库,
编译方法网络上很多方法
./configure -qte "-embedded -xplatform linux-arm-g++ -qconfig qpe -no-qvfb -depths 24 -system-jpeg -system-libpng -system-zlib -tslib -gif -thread -no-xft -release -I$PWD/includes -L$PWD/libs" -qpe '-xplatform linux-arm-g++ -edition pda -displaysize 320x240 -I$PWD/includes -L$PWD/libs"
make
make install
之后,在qtopia/image/opt/下生成了qtopia的arm版本
3.x86版本的使用
常用的是qvfb工具和qdesigner工具,这两个工具的使用需要设置LD_LIBRARY_PATH指向qt2/lib,当然任何能找到动态库的方法均可,一般在命令行下运行,能够看到是否是因为动态库so没有而运行失败
qvfb可以使用后,接着模拟运行x86版本的qpe,需要设置LD_LIBRARY_PATH指向生成的动态库即qtopia/image/opt/qtopia/lib,QTDIR和QPEDIR指向生成的qtopia目录即qtopia/image/opt/qtopia即可,同时,需要将qt2/lib下的fonts目录copy到qtopia/image/opt/qtopia/lib/下,此时可以模拟qpe
4.arm版本的使用
需要把安装的qtopia目录整体复制到开发板的任意目录下, 同时所有使用到的第三方库放在qtopia/lib下即可
同3,arm上运行需要设置LD_LIBRARY_PATH QTDIR QPEDIR三个环境变量,QTDIR QPEDIR指向qtopia目录所在位置,LD_LIBRARY_PATH指向qtopia/lib即可
5.减肥
<1>删除部分字体,默认是helvetica,使用fixed即可,-qpe配置加上-fontfamilies fixed即可,除fontdir和fontlots均删除
6.显示中文
显示中文有2个条件,第一是支持汉字字符集,第二是系统有汉字库,qtopia默认没有开启unicode的支持,去掉qtopia/src/qt/qconfig-qpe.h 关于 #define QT_NO_CODECS的定义,即注释掉,即可支持unicode编码,即支持中文,qtopia默认的unifont字体可以显示中文,这样默认unifont字体编译即可;
7.中文化
显示中文和中文化不同,中文化是在程序彻底支持中文,qtopia本身已经做了国际化支持,通过转换机制,使用i18n下语言夹,下面的qm文件进行替换,即可中文化了
8注意:
为了节省空间,一般都要动态生成dev,那么面临一个问题是usb鼠标的热拔插问题,而不定义qtopia的usb鼠标变量,有时候会造成usb与串口冲突,解决办法也很简单,鼠标设备文件设置成mice即可
相关文章推荐
- qtopia-free-src-2.2.0本地编译:
- qtopia-free-src-2.2.0交叉编译:
- Qtopia free 2.2.0 交叉编译详细过程(二) [zt]
- qtopia-free-src-2.2.0交叉编译环境的建立
- TE2440工程师笔记之--交叉编译qtopia-free-2.2.0
- Ubuntu 9.04系统下编译 qtopia-src-2.2.0 过程
- ubuntu10.10编译TQ2440的x86-qtopia-2.2.0具体问题总结及原因分析
- ubuntu10.10编译TQ2440的x86-qtopia-2.2.0编译问题解决精简版
- 在 ubuntu 上编译 qtopia-2.2.0问题
- [整理]ubuntu10.10编译TQ2440的x86-qtopia-2.2.0编译问题解决精简版
- qtopia-2.2.0的交叉编译以及移植Ⅱ(在Fedora下构建嵌入式QT环境)
- 6410 qtopia2.2.0开发:一 编译PC qtopia2.2.0
- ubuntu10.10编译TQ2440的x86-qtopia-2.2.0具体问题总结及原因分析
- 编译Qtopia2.2.0结束时,终端中显示信息。
- 3.2.2 编译PC版本的 qtopia2.2.0;3.2.3 编译mini6410版本的 qtopia2.2.0;
- x86版本Qtopia2.2.0的配置与编译
- [整理]ubuntu10.10编译TQ2440的x86-qtopia-2.2.0具体问题总结及原因分析
- 6410 qtopia2.2.0开发:二 编译ARM qtopia2.2.0
- ubuntu10.10编译qtopia-2.2.0 问题总结及分析
- qtopia 4.2.3 移植 交叉编译记录&总结