移植 Qt4.8.5到Tiny210

1. 下载qt-everywhere-opensource-src-4.8.5.tar.gz, PC端和ARM端都是同一个文件,下载地址:http://download.qt-project.org/official_releases/qt/4.8/4.8.5/qt-everywhere-opensource-src-4.8.5.tar.gz

2. 先编译PC端的,

1. 解压出来,重命名文件夹为: x86-qt-everywhere-opensource-src-4.8.5,

2. 进入到x86-qt-everywhere-opensource-src-4.8.5目录

3. 配置: ./configure

4. make,没出现什么问题,花了二三个小时完成

5. sudo make install 默认装在:/usr/local/Trolltech/QtEmbedded-4.8.5-i386$

3. 编译ARM端

1. 从压缩包再解压出来,重命名文件夹为: arm-qt-everywhere-opensource-src-4.8.5,虽然与PC端是相同的代码,按理说在同一个文件夹用不同的配置也可以,但为了避免问题,还是另建一份新的档案.而且也可以同时make,节省时间

2. 进入到arm-qt-everywhere-opensource-src-4.8.5目录

3. 配置:

./configure -prefix /opt/qt-4.8.5-arm -embedded arm -release -shared -fast -no-largefile -qt-sql-sqlite -qt3support -phonon -phonon-backend-multimedia -no-xmlpatterns -no-glib -no-mmx -no-3dnow -no-sse -no-sse2 -no-svg -webkit -qt-zlib -qt-libtiff -qt-libpng -qt-libjpeg -make libs -nomake examples -nomake docs -nomake demo -no-nis -no-cups -iconv -no-dbus -openssl -xplatform qws/linux-arm-g++ -little-endian -qt-freetype -depths 16,24,32 -qt-gfx-linuxfb -qt-gfx-transformed -qt-gfx-multiscreen -no-gfx-vnc -no-gfx-qvfb -qt-kbd-linuxinput -no-kbd-qvfb -armfpa -no-mouse-qvfb -no-pch -qt-mouse-linuxtp -qt-mouse-tslib -DQT_QLOCALE_USES_FCVT -I/opt/tslib/include -L/opt/tslib/lib

之前出现过一个错误:

cc1:error:.pch/release-shared-emb-arm/QtGui:NO such file or directory

后来加上-no-pch 就解决了

4.make, 顺利完成,花了三个多小时

5.sudo make install, 安装庆/opt/qt-4.8.5-arm

 

4.安装Qt Creator

1.试过安装2.8.1版的,不能用,不知道为什么,就安装了qtcreator-2.6.2.

2.配置 Tools->Options... 增加Compiler,指向交叉编译器的arm-linux-g++

image

3. 增加Qt versions,分别指向刚刚编译的二个平台的qmake

补充: 之前使用友善提供的配置:yes | ./configure -opensource -embedded x86 -xplatform qws/linux-generic-g++  -qt-libtiff -qt-libmng -qvfb编译PC端,在选择Qt Version时总会出现一个黄色的叹号,如下图所示,建立的项目在PC端问题无法运行,提示要加-qws,可是加了之后又提示不能打开/dev/fb0之类的问题,为这个问题郁闷了好久,始终找不到解决方案.

后来又试了一次,直接使用./configure配置,竟然顺利完成了,建立项目也可以跑了…

image

3. 增加Kits

PC版本的

image

ARM版本的

image

4.新建一个针对Desktop的工程, 完成后点击左边的Projects,再点击Add kit增加一个我们刚刚建立好的Kit “ARM210”

image

5.好了之后再点击左边的显示器图标,选择不同的目标平台就可以编译了,注意在ARM目标平台上只能编译,要运行的话要把目标文件复制到ARM开发板上才可以.

image

6. 复制刚刚生成的目标文件到目标板,我的是”TestQt”, 把如下变量加入到目标系统的/etc/profile,让系统能找到我们编译好的Qt4.8.3

export set QTDIR=/opt/qt-4.8.3-arm
export set QPEDIR=/opt/qt-4.8.3-arm
export set LD_LIBRARY_PATH=$QTDIR/lib:/usr/local/lib:$LD_LIBRARY_PATH
export set QT_QWS_FONTDIR=$QTDIR/lib/fonts/
export set QWS_SIZE=1024x480
export PATH=$QTDIR/bin:$PATH

再运行./TestQt -qws,即可在目标板LCD上看到结果:

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

再后来,基于PC的程序不能运行了,老是提示要加-qws,加入之后又提示

Error opening framebuffer device /dev/fb0

使用./configure配置重新编译一次就解决了问题!

 

参考文章:

http://wuyuans.com/2012/11/qt4-8-3-transplant/

http://www.cnblogs.com/emouse/archive/2013/01/29/2881721.html

转载于:https://www.cnblogs.com/openusb/p/3314626.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值