QT/Embedded 2.3.8 MX21ADS板移植
2007-05-17 10:24
239 查看
QT/Embedded 现在的最新版本是Qtopia Core 4,网上找很久都没有相关教材,还是稳打稳扎用QT/embedded 2的版本来做。
目标平台是Freescale MX21,linux2.4内核,开发平台是RH9,下面是移植过程:
1. 下载qt-embedded和tmake ftp://ftp.qtopia.org.cn/mirror/ftp.trolltech.com/qt/source/qt-embedded-2.3.8.tar.gz ftp://ftp.qtopia.org.cn/mirror/ftp.trolltech.com/freebies/tmake/tmake-1.13.tar.gz
cd /work
tar -zxf qt-2.3.8-embedded.tar.gz
cd qt-2.3.8
tmake解压, 任意目录皆可,只要设置好TMAKEPATH环境变量,这里为了方便将tmake解压到tmake目录.
2 设置环境变量
TMAKE=/work/qt-2.3.8/tmake
TMAKEPATH=/work/qt-2.3.8/tmake/lib/qws/linux-arm-g++
QTDIR=/work/qt-2.3.8/
QTEDIR=/work/qt-2.3.8/
PATH=$TMAKE/bin:$PATH
export PATH QTDIR QTEDIR TMAKEPATH
3. 修正bug
tmake和qt-embedded-2.3.8在arm平台上有几个小bug, 在链接时使用arm-linux-gcc而不是arm-linux-g++
首先修正tmake
打开tmake/lib/qws/linux-arm-g++/下的tmake.conf
将其中的TMAKE_LINK和TMAK_LINK_SHLIB都修正为arm-linux-g++
TMAKE_LINK = arm-linux-g++
TMAKE_LINK_SHLIB = arm-linux-g++
然后就是qt-embedded下configs/linux-arm-g++{static/shared/static-debug/shared-debug}这几个arm配置中的定义SYSCONF_LINK SYS_CONF_LINK_SHLIB 都修正为arm-linux-g++
代码中也有一处:
src/kernel/qapplicaion_qws.cpp 中的2148行 beep函数, 好像arm是默认不处理sound的,所有要根据qsound.h中的QT_NO_SOUND宏将其修改一下
#ifndef QT_NO_SOUND
QSound *qt_beep_sound = 0;
void QApplication::beep()
{
if ( qt_beep_sound )
qt_beep_sound->play();
}
#else
void QApplication::beep()
{
}
#endif
4,配置编译
./configure -xplatform linux-arm-g++ -no-opengl -qt-libpng -qt-zlib -no-xft -static -no-qvfb -L/home/opt/mx21_tools/metrowerks/b56/Embedix/home/salem/project/MX21-b56/build/dev_image/usr/lib
make
如此简单,大公告成!
^_^
目标平台是Freescale MX21,linux2.4内核,开发平台是RH9,下面是移植过程:
1. 下载qt-embedded和tmake ftp://ftp.qtopia.org.cn/mirror/ftp.trolltech.com/qt/source/qt-embedded-2.3.8.tar.gz ftp://ftp.qtopia.org.cn/mirror/ftp.trolltech.com/freebies/tmake/tmake-1.13.tar.gz
cd /work
tar -zxf qt-2.3.8-embedded.tar.gz
cd qt-2.3.8
tmake解压, 任意目录皆可,只要设置好TMAKEPATH环境变量,这里为了方便将tmake解压到tmake目录.
2 设置环境变量
TMAKE=/work/qt-2.3.8/tmake
TMAKEPATH=/work/qt-2.3.8/tmake/lib/qws/linux-arm-g++
QTDIR=/work/qt-2.3.8/
QTEDIR=/work/qt-2.3.8/
PATH=$TMAKE/bin:$PATH
export PATH QTDIR QTEDIR TMAKEPATH
3. 修正bug
tmake和qt-embedded-2.3.8在arm平台上有几个小bug, 在链接时使用arm-linux-gcc而不是arm-linux-g++
首先修正tmake
打开tmake/lib/qws/linux-arm-g++/下的tmake.conf
将其中的TMAKE_LINK和TMAK_LINK_SHLIB都修正为arm-linux-g++
TMAKE_LINK = arm-linux-g++
TMAKE_LINK_SHLIB = arm-linux-g++
然后就是qt-embedded下configs/linux-arm-g++{static/shared/static-debug/shared-debug}这几个arm配置中的定义SYSCONF_LINK SYS_CONF_LINK_SHLIB 都修正为arm-linux-g++
代码中也有一处:
src/kernel/qapplicaion_qws.cpp 中的2148行 beep函数, 好像arm是默认不处理sound的,所有要根据qsound.h中的QT_NO_SOUND宏将其修改一下
#ifndef QT_NO_SOUND
QSound *qt_beep_sound = 0;
void QApplication::beep()
{
if ( qt_beep_sound )
qt_beep_sound->play();
}
#else
void QApplication::beep()
{
}
#endif
4,配置编译
./configure -xplatform linux-arm-g++ -no-opengl -qt-libpng -qt-zlib -no-xft -static -no-qvfb -L/home/opt/mx21_tools/metrowerks/b56/Embedix/home/salem/project/MX21-b56/build/dev_image/usr/lib
make
如此简单,大公告成!
^_^
相关文章推荐
- QT/Embedded 2.3.8 MX21ADS板移植
- qt-embedded-linux-opensource-src-4.5.3移植到s3c6410
- 深度解析 Qt Eembedded Linux移植要点(截取部分)
- 在mini2440上移植qt embedded for linux 4.5.2
- Qt/Embedded移植详解
- qt-embedded-4.7.4往海思hi3518上的移植
- qt-embedded-linux-opensource-src-4.5.1移植到QQ2440开发板(不错)
- qt-embedded-linux移植要点qt
- 在mini2440上移植qt embedded for linux 4.5.2
- qt-embedded-linux移植要点qt
- qt-embedded-linux-opensource-src-4.8.6 + tslib-1.4 + qwt-6.0.2 编译和移植到mini2440开发板
- Qt/Embedded GUI移植及应用程序开发
- 在海思3515芯片移植qt-embedded(三)----手工编写qte程序的Makefile
- qt-embedded和tslib移植到FS2410开发板
- qt-embedded-linux-opensource-src-4.5.3移植到s3c6410
- 移植QtEmbedded 4.6.3 tslib1.4 到 S3C2440
- qt-embedded-linux-opensource-src-4.5.1移植到QQ2440开发版
- qt-embedded-linux-opensource-src-4.5.1成功移植到micro2440
- 在mini2440上移植qt embedded for linux 4.5.2
- Qt-embedded-linux移植要点(内容取上网络)