关于 qt 移植到 omap3530 总结

这是我第一次写这类东西,以前总是搞不懂为什么会有人去写什么博客呢?现在明白写博客既是与大家交流 也是对自己辛苦工作的一个总结!

     闲话少说进入正题:qt移植到omap3530


其实tslib和qt的移植网上一大堆,随便收索得到,但它们都没有给出出现问题的解决办法,但在实际中,我们自己安装的时候,往往会出现各种错误。我写这个其实就是对我自己出现的问题的总结。


一、准备工作

 vm虚拟机+ubuntu10.04

qtopia-core-opensource-src-4.3.5

arm-none-linux-gnueabi-2007q3

tslib-1.4

g++


二、tslib和qt移植

网上有很多的教程比如:http://www.cnblogs.com/rockstone/archive/2010/01/15/1648836.html

我大多数步骤也是按这篇文章安装的。


步骤如下:

tslisb移植

1. 
tar xzvf tslib-1.4.tar.gz
cd tslib/
export CC=arm-none-linux-gnueabi-gcc
export CXX=arm-none-linux-gnueabi-g++


2.
./autogen.sh
执行这条命令可能会报错,需要安装以下工具:
sudo apt-get install autoconf
sudo apt-get install automake
sudo apt-get install libtool


//问题来了,当我输入./autogen.sh时,系统报错,要想解决也就是安装上面三个工具。但是我的没这么简单。最开始我是用虚拟机装的ubuntu10.10,当我输入这类"sudo apt-get install"命令的时候总是报错,说什么下不下来找不到地址什么的,当我百度的时候发现是要更新软件源(我发现我的源竟然是美国的地址),然后我就去更新,可惜始终是更新失败。最后我想是我系统有问题,就换了ubuntu10.04。

 但我把ubuntu10.04按我以前的方法装在虚拟机上时,我发现我装的时候根本没有什么装系统的界面,vm直接一路个我装过去了。后来百度才知道我选择的是easyinstall,vm会自动给我装。我这才发现搞不好我以前的10.10版没什么问题,其实是我装的时候选择了easyinstall,导致缺少很多组件,才让那个系统根本不适合开发。所以以后用虚拟机的时候不要用easyinstall,自己手动装。而且做开发的话最后好用dvd版的,里面软件比desktop版的全以前。

从新装了系统后安装了上面三个软件后,在执行./autogen.sh就行啦!


3.
echo "ac_cv_func_malloc_0_nonnull=yes" >arm-none-linux-gnueabi.cache

./configure --host=arm-none-linux-gnueabi --cache-file=arm-none-linux-gnueabi.cache --enable-inputapi=no PLUGIN_DIR=/home/zhaopan/tslib/plugins -prefix=/home/zhaopan/tslib/build -host=arm-none-linux-gnueabi --cache-file=arm-none-linux-gnueabi.cache 2>&1 | tee conf_log

4.
make 2>&1 | tee make_log
make install

5. 将/home/zhaopan/tslib/build/lib下除去pkgconfig目录外其他所有文件拷贝到开发板/lib目录下

6. 将/home/zhaopan/tslib/build/etc下的ts.conf拷贝到开发板的/etc下

7. 设置环境变量,在开发板文件系统的/etc/profile文件里添加以下命令:

export TSLIB_TSDEVICE=/dev/input/touchscreen0
export TSLIB_CONFFILE=/etc/ts.conf
export TSLIB_PLUGINDIR=/lib/ts

export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
 后面输入这些命令我都没出现什么问题了



qt移植

1. 准备
 

tar xvf qtopia-core-opensource-src-4.3.5.tar.gz

cd qtopia-core-opensource-src-4.3.5

 

修改mkspecs/qws/linux-arm-g++/qmake.conf文件,替换所有arm-linux为arm-none-linux-gnueabi

(没出问题)


2. 配置

./configure -embedded arm -xplatform qws/linux-arm-g++ -depths 4,8,16,32 -no-qt3support -prefix ${HOME}/work/qt/target -fast -qt-sql-sqlite -no-libtiff -no-libmng -qt-libjpeg -qt-zlib -qt-libpng -qt-freetype -optimized-qmake -no-nis -no-separate-debug-info -no-qvfb -qt-gfx-linuxfb -no-gfx-qvfb -qt-kbd-usb -no-kbd-qvfb -no-mouse-qvfb -no-mouse-linuxtp -qt-mouse-pc -qt-mouse-tslib -I /home/zhaopan/tslib/build/include -L /home/zhaopan/tslib/build/lib

其中/home/zhaopan/tslib/build/include是tslib的include目录,/home/zhaopan/tslib/build/lib是tslib的lib目录,配置完成后会提示successful,如果没有,google出错信息,将其解决掉,直到successful才继续往下做

//好了,问题来了 当我按这种格式输入命令时出现一连串错误,如下图:


一看见这个错误当时就晕了,经过不断努力最终还是解决了。 首先这里面其实是有两个错误,出现syntax error这种错误是因为我没有安装g++,安好g++后这个错误是没了,但最下面的“the tsilb functionality ......”还是存在,又经过努力发现要到mkspecs/qws/linux-arm-g++/qmake.conf 里,在QMAKE_INCDIR后面加上 /....../tslib/build/include这个路径    在QMAKE_LIBDIR后面加上/.........../tslib/build/lib这个路径。加上后就没问题了。


3. 编译 安装

make(时间确实长,慢慢等)

//这里错误又来了,刚开始每次make我都出现这个问题


又经过一番努力,才知道要么是configure后的参数配置错了,要么是qt与交叉编译器的版本不符合,我感觉是我的配置参数有问题,所以回去改了。先#make confclean 清除以前的配置,在./configure+(新配置)。

这个问题也这样解决了。新配置是用的这个里面的配置http://lanxinyuchs.iteye.com/blog/965372

然后在输入make install


4. 下载

 

1) 拷贝${HOME}/work/qt/target下整个lib目录到开发板下/opt/qtopia目录下

2) 删掉/opt/qtopia/lib/fonts目录下多余的字体文件,只留下cour.pfa和cursor.pfa两个文件

3) 设置环境变量,在开发板文件系统的/etc/profile文件里添加以下命令:
 

export QTOPIA=/opt/qtopia
export LD_LIBRARY_PATH=$QTOPIA/lib:$LD_LIBRARY_PATH
export PATH=$QTOPIA/bin:$PATH
export QWS_MOUSE_PROTO=tslib:/dev/input/touchscreen0
export QWS_DISPLAY="LinuxFb:mmWidth100:mmHeight130:0"
export QT_QWS_FONTDIR=/opt/qtopia/lib/fonts

 

5. 测试移植结果

 

拷贝${HOME}/work/qt/target/examples/tutorial/t1/t1到开发板下/opt/qtopia/bin目录下并运行t1程序
./t1 -qws

将显示 helloworld界面

//当我执行./t1 -qws时又出现问题

在目标板上编译时出现这个问题,解决办法是到主机上找到libstdc++.so.6这个文件,路径是在你的交叉编译器安装的文件夹里比如:/....../embest/arm-2007q3/arm-none-linux-gnueabi/lib/下,然后拷贝到板子上的/opt/qtopia/lib下,并在板子上改/etc/profile文件,加上/opt/qtopia/lib这个路径的环境变量。

然后再运行就可以了,但还是有错误会有


这个错误我没去解决了,不过网上说是因为./configure后面的参数配置有问题 ,好像把-qt-mouse-pc -qt-mouse-tslib这两个参数删了就没问题了,再从新配置编一次就好了,我懒了占时没去改了,呵呵! 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值