移植Qt-embedded 4.5.2 for mini2440(转)
2012-08-02 21:18
495 查看
正在试验,先转来再说.....
重要提示:
我磨叽了好几天才搞定,按照网上的方法老是实验不成功(比如QT程序是hello在开发板上运行总会出现/bin/bash:hello not found),这个就是库没有找到的表现
1.先安装交叉编译链
2.下载那个qt-embedded-linux-opensource-src(版本很多需要的是这个)
3.编译安装(在PC上,注意那个.config 的选项prefix这里的目录在开发板也必须存在一个路径一样的目录否则就会找不到库,靠悲剧)
4.复制库到你的prefix配置的那个目录(还有在开发板上面的那个配置...
5.运行测试程序时要加上-qws
请先按照
使用BusyBox构建根文件系统 完成根文件系统的构建!
移植触摸屏库tslib 完成tslib的移植与安装!
请使用OpenMoko提供的交叉编译器,如果使用友善之臂公司或CodeSourcery提供的交叉编译器来编译Qt/E 4.5.2,可能会导致Qt程序运行时出现段错误!
http://qtextended.org/modules/mydownloads/visit.php?lid=38
安装新的交叉编译器:
# tar zxvf arm920t-eabi.tgz -C /
会安装至 /opt/toolchains/arm920t-eabi/ 目录。
把 "/opt/toolchains/arm920t-eabi/arm-angstrom-linux-gnueabi/lib" 目录下的 libz.so libz.so.1 libz.so.1.2.3 三个动态链接库文件拷贝至开发板 /lib
目录,因为 Qt 要用到!
换个新的终端执行:
# export PATH=/opt/toolchains/arm920t-eabi/bin/:$PATH
因为要使用新的交叉编译器!
下载Qt/E 4.5.2源码包:
http://get.qt.nokia.com/qt/source/qt-embedded-linux-opensource-src-4.5.2.tar.gz
解压Qt/E源码包并进入目录:
# tar zxvf qt-embedded-linux-opensource-src-4.5.2.tar.gz
# cd qt-embedded-linux-opensource-src-4.5.2
配置:
# ./configure-prefix
/mini2440 -release -shared -fast-pch -no-qt3support -qt-sql-sqlite -no-libtiff -no-libmng -qt-libjpeg -qt-zlib-qt-libpng -qt-freetype -no-openssl -nomake examples -nomake demos -nomaketools -optimized-qmake -no-phonon -no-nis -no-opengl -no-cups -no-xcursor-no-xfixes
-no-xrandr -no-xrender -no-xkb -no-sm -no-xinerama -no-xshape-no-separate-debug-info -xplatform qws/linux-arm-g++ -embedded arm -depths 16-no-qvfb -qt-gfx-linuxfb -no-gfx-qvfb -no-kbd-qvfb -no-mouse-qvfb -qt-kbd-usb-confirm-license -qt-mouse-tslib
-I/home/duancp/mytslib/include-L/home/duancp/mytslib/lib
上面的红色部分必须让找前面的tslib的目录设置,否则会出现“The tslib functionality test failed!”错误
编译:
# make
出错,缺少zlib库,如果是ubuntu的话,可以通过以下的命令来安装zlib-dev:
# apt-get install zlib1g-dev
再编译:
# make
安装:
# make install
下载 /opt/arm-qt4 目录到开发板 /opt/ 目录,可去掉一些例子与字体。
需要设置一些环境变量,以下是我的开发板的 /etc/profile 文件:
在开发板上运行Qt自带的测试例子:
# /opt/arm-qt4/demos/embedded/fluidlauncher/fluidlauncher -qws
重要提示:
我磨叽了好几天才搞定,按照网上的方法老是实验不成功(比如QT程序是hello在开发板上运行总会出现/bin/bash:hello not found),这个就是库没有找到的表现
1.先安装交叉编译链
2.下载那个qt-embedded-linux-opensource-src(版本很多需要的是这个)
3.编译安装(在PC上,注意那个.config 的选项prefix这里的目录在开发板也必须存在一个路径一样的目录否则就会找不到库,靠悲剧)
4.复制库到你的prefix配置的那个目录(还有在开发板上面的那个配置...
5.运行测试程序时要加上-qws
请先按照
使用BusyBox构建根文件系统 完成根文件系统的构建!
移植触摸屏库tslib 完成tslib的移植与安装!
请使用OpenMoko提供的交叉编译器,如果使用友善之臂公司或CodeSourcery提供的交叉编译器来编译Qt/E 4.5.2,可能会导致Qt程序运行时出现段错误!
http://qtextended.org/modules/mydownloads/visit.php?lid=38
安装新的交叉编译器:
# tar zxvf arm920t-eabi.tgz -C /
会安装至 /opt/toolchains/arm920t-eabi/ 目录。
把 "/opt/toolchains/arm920t-eabi/arm-angstrom-linux-gnueabi/lib" 目录下的 libz.so libz.so.1 libz.so.1.2.3 三个动态链接库文件拷贝至开发板 /lib
目录,因为 Qt 要用到!
换个新的终端执行:
# export PATH=/opt/toolchains/arm920t-eabi/bin/:$PATH
因为要使用新的交叉编译器!
下载Qt/E 4.5.2源码包:
http://get.qt.nokia.com/qt/source/qt-embedded-linux-opensource-src-4.5.2.tar.gz
解压Qt/E源码包并进入目录:
# tar zxvf qt-embedded-linux-opensource-src-4.5.2.tar.gz
# cd qt-embedded-linux-opensource-src-4.5.2
配置:
# ./configure-prefix
/mini2440 -release -shared -fast-pch -no-qt3support -qt-sql-sqlite -no-libtiff -no-libmng -qt-libjpeg -qt-zlib-qt-libpng -qt-freetype -no-openssl -nomake examples -nomake demos -nomaketools -optimized-qmake -no-phonon -no-nis -no-opengl -no-cups -no-xcursor-no-xfixes
-no-xrandr -no-xrender -no-xkb -no-sm -no-xinerama -no-xshape-no-separate-debug-info -xplatform qws/linux-arm-g++ -embedded arm -depths 16-no-qvfb -qt-gfx-linuxfb -no-gfx-qvfb -no-kbd-qvfb -no-mouse-qvfb -qt-kbd-usb-confirm-license -qt-mouse-tslib
-I/home/duancp/mytslib/include-L/home/duancp/mytslib/lib
上面的红色部分必须让找前面的tslib的目录设置,否则会出现“The tslib functionality test failed!”错误
编译:
# make
出错,缺少zlib库,如果是ubuntu的话,可以通过以下的命令来安装zlib-dev:
# apt-get install zlib1g-dev
再编译:
# make
安装:
# make install
下载 /opt/arm-qt4 目录到开发板 /opt/ 目录,可去掉一些例子与字体。
需要设置一些环境变量,以下是我的开发板的 /etc/profile 文件:
# Ash profile # vim: syntax=sh # No core files by default ulimit -S -c 0 > /dev/null 2>&1 USER="`id -un`" LOGNAME=$USER PS1='[\u@\h \W]\# ' PATH=$PATH HOSTNAME=`/bin/hostname` export USER LOGNAME PS1 export TSLIB_ROOT=/opt/tslib export TSLIB_TSDEVICE=/dev/event0 export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts export TSLIB_CALIBFILE=/etc/pointercal export TSLIB_CONSOLEDEVICE=none export TSLIB_FBDEVICE=/dev/fb0 export TS_INFO_FILE=/sys/class/input/input0/uevent export QTDIR=/opt/arm-qt4 export QPEDIR=/opt/arm-qt4 export QWS_KEYBOARD=TTY:/dev/tty1 export QWS_MOUSE_PROTO=Tslib:/dev/event0 export PATH=$QTDIR/bin:$PATH export LD_LIBRARY_PATH=lib:/usr/lib:$TSLIB_ROOT/lib:$QTDIR/lib:$LD_LIBRARY_PATH
在开发板上运行Qt自带的测试例子:
# /opt/arm-qt4/demos/embedded/fluidlauncher/fluidlauncher -qws
相关文章推荐
- 在mini2440上移植qt embedded for linux 4.5.2
- 在mini2440上移植qt embedded for linux 4.5.2
- 在mini2440上移植qt embedded for linux 4.5.2
- 在mini2440上移植qt embedded for linux 4.5.2
- Qt-embedded-linux-opensource-src-4.5.1移植到mini2440
- QT移植出错:Qt for Embedded Linux data directory has incorrect permissions: /tmp/qtembedded-0
- qt-embedded-4.5.2移植实验
- qt-embedded-linux-opensource-src-4.8.6 + tslib-1.4 + qwt-6.0.2 编译和移植到mini2440开发板
- Qt-embedded-linux-opensource-src-4.5.1移植到mini2440
- Qt-Embedded-4.5.2移植到s3c2440开发板
- Ubuntu12.04下配置安装Qt4.6.3 及移植到mini2440开发板及其使用全过程
- 深度解析 Qt Eembedded Linux移植要点 ----和LCD的横屏竖屏有关
- 关于Qt for Android的移植需要注意的事项
- Qt-embedded-4.5.1移植需解决的问题
- 移植Qt4.8.5到mini2440开发板
- mini2440: qtopia 2.2.0 、qt4的移植
- qt-embedded-linux-opensource-src-4.5.3在飞凌2440上的成功移植
- qt4.6.3移植到mini2440的过程
- 移植qt-4.8.5至 mini2440建立交叉编译及qt运行环境
- Qt-embedded-linux移植要点qt