• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
主题 : qt4.3.5和tslib-1.4的安装移植 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 11503
精华: 0
发帖: 26
金钱: 130 两
威望: 26 点
贡献值: 0 点
综合积分: 52 分
注册时间: 2009-12-09
最后登录: 2014-04-10
楼主  发表于: 2010-03-08 22:16

 qt4.3.5和tslib-1.4的安装移植

qt4.3.5和tslib-1.4的安装移植
一、工作环境:
1、主机:fedora9
2、硬件平台:mini2440
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移植也告一段落。
(本人不才,初碰arm9才寥寥几月,碰QT,linux系统也才一个月,以上是我qt4移植心得,拿来分享,只为了能与别人交流,还请高手多多指教。。今天就到此为止,明天继续分享开机自编qt程序心得并附上自己做的开机桌面图片。。。)
用过的Linux发行版:Arch,Gentoo,Debian,Fedora,RHEL,CentOS,Ubuntu,OpenSUSE,RedFlag,Ylmf,De ..
级别: 骑士
UID: 12662
精华: 0
发帖: 181
金钱: 955 两
威望: 191 点
贡献值: 0 点
综合积分: 362 分
注册时间: 2010-01-11
最后登录: 2014-02-14
1楼  发表于: 2010-03-09 11:01
行 有新意
业余Linux爱好者。
级别: 新手上路
UID: 18441
精华: 0
发帖: 45
金钱: 225 两
威望: 45 点
贡献值: 0 点
综合积分: 90 分
注册时间: 2010-04-09
最后登录: 2013-08-20
2楼  发表于: 2010-04-13 17:42
顶了,呵呵
级别: 新手上路
UID: 18441
精华: 0
发帖: 45
金钱: 225 两
威望: 45 点
贡献值: 0 点
综合积分: 90 分
注册时间: 2010-04-09
最后登录: 2013-08-20
3楼  发表于: 2010-04-14 17:23

 回 楼主(fjyihan) 的帖子

你好。lz
我按照你的方法移植了tslib-1-4,用的是redhat9,其他的都和你一样,但是我把生成的tslib下载到了目标板的/usr/local下,环境变量也该了。env也能看到添加的环境变量,但是当我执行./ts_calibrate是,提示not found,lz知道是什么原因啊?
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
贡献值: 71 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
4楼  发表于: 2010-04-14 22:07
但是当我执行./ts_calibrate是,提示not found

你必须用和你的开发板配套的交叉编译器编译tslib。如果开发板用的是2.6.13的内核,配套的编译器应该是3.4.1的。
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 18540
精华: 0
发帖: 3
金钱: 15 两
威望: 3 点
贡献值: 0 点
综合积分: 6 分
注册时间: 2010-04-10
最后登录: 2010-07-03
5楼  发表于: 2010-04-14 22:31
直接使用/usr/local/tslib/ts_calibrate就可以,但是发现运行自己用qtcreator生成的2进制,程序字体很小,而且点击会直接退出图象界面,为什么会出现这种情况
级别: 新手上路
UID: 18441
精华: 0
发帖: 45
金钱: 225 两
威望: 45 点
贡献值: 0 点
综合积分: 90 分
注册时间: 2010-04-09
最后登录: 2013-08-20
6楼  发表于: 2010-04-15 10:39

 回 4楼(kasim) 的帖子

我开发板用的是我自己一直的2.6.29的内核,交叉编译用的是4.3.2,内核就是用它编译的,4.3.2编译tslib也该没问题啊
是只把在usr/local生的的tslib文件拷到开发板的/usr/local下吗?tslib-1.4里面的文件就没用了把?
级别: 新手上路
UID: 18441
精华: 0
发帖: 45
金钱: 225 两
威望: 45 点
贡献值: 0 点
综合积分: 90 分
注册时间: 2010-04-09
最后登录: 2013-08-20
7楼  发表于: 2010-04-15 10:43

 回 5楼(newpoyang) 的帖子

这样用也提示NOT FOUND ,我到tslib文件下直接./ts_calibrate都没用,不知道是什么问题,这个应该是目录不对,但是我在linux下编译tslib-1.4就是在/usr/local下的tslib文件夹下生成lib/etc/bin/include这四个文件,我把tslib文件夹打包ftp下载到开发板的/usr/local下,这样不行,env有可以看到添加的环境变量
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
贡献值: 71 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
8楼  发表于: 2010-04-15 11:45
你还必须确保ts_calibrate这个执行档所依赖的共享库都可以在运行时链接到。比如,如果开发板上的libts.so现在在/usr/local/lib目录下的话,确保这个目录在LD_LIBRARY_PATH环境变量里。
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 18441
精华: 0
发帖: 45
金钱: 225 两
威望: 45 点
贡献值: 0 点
综合积分: 90 分
注册时间: 2010-04-09
最后登录: 2013-08-20
9楼  发表于: 2010-04-15 12:57

 回 8楼(kasim) 的帖子

呵呵,谢谢KASIM的提醒,我刚看了下我的gcc,上次编译别的时候换成3.4.1了,就忘记换回来了,呵呵,刚又编译了一下,可以了,现在是ts_open:no such file or directory,我现在在解决这个问题,谢谢你啊
  • «
  • 1
  • 2
  • »
  • Pages: 1/2     Go