一、工作环境:
1、主 机:Ubuntu 10.04
2、硬件平台:real 6410
3、交叉编译器:arm-linux-gcc-4.3.2
4、触摸屏适配层源 码:tslib-1.4.tar.gz
二、交叉编译tslib-1.4
1.解压tslib-1.4.tar.gz
cd tslib/
./autogen.sh
echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache
./configure --host=arm-linux --cache-file=arm-linux.cache -- enable-inputapi=no -prefix=/usr/local/tslib
make
make install
红色表示tslib安装后的路径。
修改ts.conf内容
vi /usr/local/tslib/etc/ts.conf
最后内容如下:
module_raw input
module pthres pmin=1
module variance delta=30
module dejitter delta=100
module linear
然后打包整个tslib的内容,下载到开发板里的对应路径下(/usr/local下)。
2.配置环境变量
vi /etc/profile
添加如下内容:
export TSLIB_ROOT=/usr/local/tslib
export TSLIB_TSDEVICE=/dev/input/event0
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_FBDEVICE=/dev/fb0
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib
重启MINI2440,在终端下输入./ts_calibrate出现tslib的触摸屏五点校准画面,至此,tslib的安装移植成功完成。
三、交叉编译qtopia4.3.5
解 压 qtopia-opensource-4.3.5.tar.gz
cd qtopia-opensource-4.3.5/
vi build
添加如下内容:
#!/bin/bash
./configure -prefix /mini2440 -release -shared -fast -pch -no-qt3support -qt-sql-sqlite -no-libtiff -no-libmng -qt-libjpeg -
qt-zlib -qt-libpng -qt-freetype -nomake tools -nomake examples -nomake demos -optimized-qmake -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 -no-gfx-qvfb -no-kbd-qvfb -no-mouse-qvfb -qt-gfx-linuxfb -qt-kbd-usb -confirm-license -qt-mouse-tslib -I /usr/local/tslib/include -L /usr/local/tslib/lib
注意:红色所标中的路径必须和tslib的安装路径一致,否则,编译不成功,其 他参数可根据自己实际情况进行配置。
保存退出后修改build文件的执行权限。(chmod +x build)而后执行build。
./build
make(时 间较长,耐心等待!!)
make install
cd /mini2440/bin
mv qmake qmake-arm
cp qmake-arm /bin/
执行which qmake-arm命令,如果出现:/bin/qmake-arm/则安装成功。
以后 我们编译qt程序时,都使用qmake-arm即可(即:qmake-arm -project qmake-arm make)。
至此,qt4.3.5安装完成。
四、qtopia4.3.5移植
cd /mini2440/
打包lib文件夹里的所有内容,下载到开发板里的对应路径 下。
(需要在开发板上执行mkdir /mini2440,把lib文件夹移至mini2440文件夹下,目的是为了避免设置qt环境变量的麻烦。此为,可以精简lib文件夹下fonts字体库文件,或者全删,把开发板中自带qt2的宋体字库复制到mini2440/lib/qfonts下)
至此,qt4.3.5移植也告一段落。
网上摘抄的,自己做的时候碰到问题。
小弟现在要移植qt-embedded-opensource-4.5.1到板子上,使用qt自带的触摸屏校准程序,记过很不让人满意,所以我现在打算用tslib-1.4给qt4.5.1打补丁
软件环境:centos5.2,gcc-4.1.1(crosstools)
硬件:ARM920T
系统:qt-embedded-opensource-4.5.1.tar.gz 解压到/home/Raymond/qt-embedded-arm-tslib下
tslib-1.4编译通过,安装到/usr/local/下,同时复制了一份到/nand1/tslib-1.4中
进入/home/Raymond/qt-embedded-arm-tslib中
执行:./configure -prefix /nand1/Trolltech/QtEmbeddedARMTSLib -release -shared -qvfb -make libs -nomake tools -make examples -make docs -make demo -no-cups -no-iconv -no-dbus -webkit -no-openssl -xplatform qws/linux-arm-g++ -embedded arm -little-endian -qt-freetype -qt-gfx-linuxfb -no-gfx-transformed -no-gfx-multiscreen -no-gfx-vnc -no-gfx-qvfb -qt-kbd-tty -qt-kbd-usb -no-glib -qt-mouse-tslib -I/nand1/tslib-1.4/include -L/nand1/tslib-1.4/lib
其中我已经指定了头文件目录和库文件目录
但是在configure过程中,出现如下错误:
The tslib functionality test failed!
You might need to modify the include and library search paths by editing
QMAKE_INCDIR and QMAKE_LIBDIR in
/home/Raymond/qt-embedded-arm-tslib/mkspecs/qws/linux-arm-g++.
请问这个是什么原因?
根据提示,我又将
/home/Raymond/qt-embedded-arm-tslib/mkspecs/qws/linux-arm-g++ /qmake.conf
中添加了QMAKE_INCDIR=/nand1/tslib-1.4/include
QMAKE_LIBDIR=/nand1/tslib-1.4/lib
这两个参数原本在文件中没有,自己编写
回到/home/Raymond/qt-embedded-arm-tslib中
继续我的configure
可是结果还是 The tslib functionality test failed!
You might need to modify the include and library search paths by editing
QMAKE_INCDIR and QMAKE_LIBDIR in
/home/Raymond/qt-embedded-arm-tslib/mkspecs/qws/linux-arm-g++.
请问这是为什么啊,我晕了,谢谢各位朋友帮忙指点
解决办法:
是arm-linux-gcc的路径没有添加到系统变量中。。。
吸取教训 在Shell中输入EXPORT PATH = ....:$PATH 语句时,只在该Shell中可用。
只有
1.修改profile文件:
#vi /etc/profile
在里面加入:
export PATH="$PATH:/opt/au1200_rm/build_tools/bin"
2.修改.bashrc文件:
# vi /root/.bashrc
在里面加入:
export PATH="$PATH:/opt/au1200_rm/build_tools/bin"
才能完成添加!
ps:注意修改后的更新,如source /etc/profile