Andrew Huang 转载请注明作者及联络方式
这个已经接近最新版,更大是QT 4.7.3 离线版要1G,因此选择这个版本进行移植,用来测试.一下I80的屏.
一.准备工作
1. zip版本(不推荐下载)
下载
解压 unzip qt-everywhere-opensource-src-4.7.2.zip
改名 mv qt-everywhere-opensource-src-4.7.2/ qt-4.7.2
第一次运configure 会提示./configure: /bin/sh^M: bad interpreter:
这里因为 configure中使用了windows的回车符.如果在LINUX下运行需要将其转换一下
dos2unix configure
解决上述问题,但是其它的文件仍有回车问题
2.tar.gz版本
下载
解压: tar xvf qt-everywhere-opensource-src-4.7.2.tar.gz
改名: mv qt-everywhere-opensource-src-4.7.2 qt-4.7.2
3.显示与嵌入式LINUX相关的configure 选项
./configure -embedded -h
二.移植
2.1 生成Makefile
- echo o | ./configure -prefix $PWD/../output/arm-linux/qt -opensource -confirm-license -release -shared -embedded arm -xplatform qws/linux-arm-g++ -depths 16,18,24 -fast -optimized-qmake -pch -qt-sql-sqlite -qt-libjpeg -qt-zlib -qt-libpng -qt-freetype -little-endian -host-little-endian -no-qt3support -no-libtiff -no-libmng -no-opengl -no-mmx -no-sse -no-sse2 -no-3dnow -no-openssl -no-webkit -no-qvfb -no-phonon -no-nis -no-opengl -no-cups -no-glib -no-xcursor -no-xfixes -no-xrandr -no-xrender -no-separate-debug-info -nomake examples -nomake tools -nomake docs -qt-mouse-tslib -qt-kbd-linuxinput -qt-gfx-linuxfb -I$PWD/../output/arm-linux/include -L$PWD/../output/arm-linux/lib -lasound
注意这里的-lasound 是 链接alsa是必须,否则编译多媒体会报错.
生成成功后
- Qt is now configured for building. Just run 'gmake'.
-
Once everything is built, you must run 'gmake install'.
-
Qt will be installed into /opt/qt-4.7.2
-
-
To reconfigure, run 'gmake confclean' and 'configure'.
2.2 编译
系统已经自带了qmake或make
我是 make
安装 make install
三.测试
在qt的安装目录下,有一个demos目录下,各个程序都会被编译成功.
在运行qt之间,必须写一个运行脚本,配置一些必须脚本.
主要是二大块,一个是tslib的配置参数,另一个是QT本身的配置参数,这是我成功运行的版本。
我测试是demos/mainwindow下的测试程序
- export PRJ_HOME=/mnt/nfs/workspace/output/arm-linux
-
export QTDIR=$PRJ_HOME/qt
-
-
export TSLIB_TSDEVICE=/dev/input/event0
-
export TSLIB_CALIBFILE=/etc/pointercal
-
export TSLIB_CONFFILE=${PRJ_HOME}/etc/ts.conf
-
echo TSLIB_CONFFILE=$TSLIB_CONFFILE
-
#export TSLIB_CONFFILE=/etc/ts.conf
-
export TSLIB_PLUGINDIR=${PRJ_HOME}/lib/ts
-
export TSLIB_FBDEVICE=/dev/fb0
-
-
-
export QWS_MOUSE_PROTO=Tslib:/dev/input/event0
-
export QWS_SIZE=480X272
-
#export QWS_DISPLAY=LinuxFb:mmWidth=272:mmHeight=480:0
-
export QWS_DISPLAY=LinuxFb:/dev/fb0
-
export QT_PLUGIN_PATH=$QT_DIR/plugins
-
export QT_QWS_FONTDIR=$QTDIR/lib/fonts
-
-
export LD_LIBRARY_PATH=$PRJ_HOME/lib:$QTDIR/lib
- ./mainwindow -qws #最终测试程序
其中QWS_DISPLAY设置 屏幕旋转:
export QWS_DISPLAY=Transformed:Rot90 //旋转90 可以旋转0、90、180、270
想让qt支持旋转,在编译嵌入式qt的时候要加上-qt-gfx-transformed选项
最终是在4.3"下的s3c6410 测试成功,
阅读(2917) | 评论(0) | 转发(1) |