移植Qt4.8.5到mini2440开发板

来源:互联网 发布:河南建筑工程预算软件 编辑:程序博客网 时间:2024/04/28 10:18

之前移植过6410的,本来想直接用以前的库,发现不行,好像是编译器的问题,以前用的4.5.1版本的,

2440这里用的arm-linux-gcc.4.4.3,重新做了下,在此记录。


一 移植tslib

这个很简单

(1)./autogen.sh
(2)echo "ac_cv_func_malloc_0_nonnull=yes">arm-none-linux-gnueabi.cache 
(3)

--prefix=/opt/tslib/ 是指定tslib安装路径

./configure --prefix=/opt/tslib/ --host=arm-none-linux-gnueabi  --cache-file=arm-none-linux-gnueabi.cache --enable-inputapi=no  


(4)make
(5)make install
(6)将/opt/tslib/etc/下的ts.conf打开,将# module_raw input一行前面的符号和空格去掉。

然后把tslib这个文件夹复制到开发板的/opt/里面,就好了。

二 移植Qt-4.8.5

(1)

要更改mkspecs/qws/linux-arm-gnueabi-g++/qmake.conf这个文件,如下

要不然会出现The tslib functionality test failed!这个错误。

QMAKE_INCDIR=/opt/tslib/include
QMAKE_LIBDIR=/opt/tslib/lib
# modifications to g++.conf
QMAKE_CC                = /opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-gcc
QMAKE_CXX               = /opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-g++
QMAKE_LINK              = /opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-g++
QMAKE_LINK_SHLIB        = /opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-g++

# modifications to linux.conf
QMAKE_AR                = /opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-ar cqs
QMAKE_OBJCOPY           = /opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-objcopy
QMAKE_STRIP             = /opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-strip

----------------------------------------------------------

然后配置

./configure -prefix /usr/local/QT4.8.5-ARM-mini2440/ -force-pkg-config -opensource -confirm-license -release -shared -embedded arm -xplatform qws/linux-arm-gnueabi-g++ -depths 16,18,24 -fast -optimized-qmake -pch -qt-sql-sqlite -qt-libjpeg -qt-zlib -qt-libpng -qt-freetype -qt-mouse-tslib -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-I/opt/tslib/include -L/opt/tslib/lib

加粗线的记着加上,要不点触摸屏会没反应,/usr/local/QT4.8.5-ARM-mini2440/ 这个是我安装的路径。

(2)make

(3)make install

进入编译好的库,把plugins,imports,lib,mkspecs复制到开发板某个目录下,我这里是/opt/Qt-4.8.5-ARM。

配置环境变量,我把下面的写到.bashrc里了。

export TSLIB_ROOT=/opt/tslib
export TSLIB_TSDEVICE=/dev/event0
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_PLUGINDIR=/opt/tslib/lib/ts
export TSLIB_CONSOLEDEVICE=none
export TSLIB_CONFFILE=/opt/tslib/etc/ts.conf
export POINTERCAL_FILE=/etc/pointercal
export TSLIB_CALIBFILE=/etc/pointercal
export QWS_MOUSE_PROTO=Tslib:/dev/event0
export QTDIR=/opt/Qt-4.8.5-ARM
export QPEDIR=/opt/Qt-4.8.5-ARM
export PATH=$QTDIR/bin:$PATH
export QWS_DISPLAY=LinuxFb:/dev/fb0
export LD_LIBRARY_PATH=$TSLIB_ROOT/lib:$QTDIR/lib:$LD_LIBRARY_PATH
export QT_QWS_FONTDIR=$QTDIR/lib/fonts


设置完成。

在开发板上,先进入tslib/bin里面,运行./ts_calibrate进行校准,

校准完成后reboot,

然后运行你的QT程序 ./player -qws

一切正常。


参考:http://www.amobbs.com/thread-5570875-1-1.html

0 0