免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1916 | 回复: 0
打印 上一主题 下一主题

最新版qtE4.5.2成功移植编译及运行 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-07-08 14:26 |只看该作者 |倒序浏览

                qtE4.5.2编译
首先介绍下QTE的运行情况
我们进行QTE的开发需要编译两个运行环境的QTE,一个是运行在pc机下的,另一个是运行在arm板上。运行在PC机上直接用GCC编译就行了,运行在ARM板上要用到CROSS-COMPILE,这里用到cross-3.3.2,安装就不多说了。其实,arm板上的QTE主要包括两个方面,一个是链接库,另外就是你编译的应用软件。这两个部分都要用到交叉编译器编译。
现在我们开始编译arm板上的版本,其实编译QTE说白了就是解决出现的问题
1)下载qt -embeddbed,现在最新版本是4.5.2,可以从http://www.qtsoftware.com/下载
2)解压 #tar zxvf qt-embedded-linux-opensource-src-4.5.2.tar.gz
    #mv qt-embedded-linux-opensource-src-4.5.2 qte4.5
3)配置选项#cd qte4.5
    #./configure -release -shared -fast -no-largefile -qt-sql-sqlite -no-qt3support -no-xmlpatterns -no-mmx -no-3dnow -no-sse -no-sse2 -no-svg -no-webkit -qt-zlib -qt-gif -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -make libs -nomake tools -nomake examples -nomake docs -nomake demo -no-nis -no-cups -no-iconv -no-dbus -no-openssl -xplatform qws/linux-arm-g++ -embedded arm -little-endian -qt-freetype -depths 16,18 -qt-gfx-linuxfb -no-gfx-transformed -no-gfx-multiscreen -no-gfx-vnc -no-gfx-qvfb -qt-kbd-usb -no-glib -qt-mouse-tslib -I/home/wbwen/qte4.5/include -L/home/wbwen/qte4.5/lib
注:如需其他配置可另行添加,但要注意电脑上是不是支持
4)在进行配置时可能会遇到的问题
  A)在安装automake工具的前提下,执行myconfigure脚本,执行到验证tslib一步时,通常会报错,大意是验证tslib失败。提示说要修改/makespec/qws/linux
解决):下载tslib1.3,解压
使用./autogen.sh生成configure文件,并运行
./configure --host=arm-linux --target=arm-linux --prefix=$PWD/build --enable-inputapi=yes
并设置PLUGIN_DIR=tslib-1.3/plugins(tslib解压路径下的plugins路径,此环境变量很重要,没有话编译时会报“only absolute run-path ...”的错误)
vi ~/qte4.5/mkspecs/qws/linux-arm-g++/qmake.conf
加入
QMAKE_INCDIR=~/qte4.5/tslib-1.3/build
QMAKE_LIBDIR=~/qte4.5/tslib-1.3/build
  B)若automake工具没有安装,则执行
sudo apt-get install aclocal automake autoheader autoconf
5)#make
  在make时会出现stdlib.h错误
解决):把/usr/include/bits/stdlib.h换成/usr/include/stdlib.h
    注意备份/bits/stdlib.h   
6)#make install
这种配置编译时间只要半个多小时
7)进行qmake路径配置
#export PATH=$PATH:/usr/local/Trolltech/QtEmbedded-4.5.2-arm/bin
注:在编译时默认安装目录为该目录
8)编译几个例子
#cd ~/examples
#qmake xxx.pro
#make
可得到几个可执行文件
注:可不用设置LD_LIBRARY_PATH,qmake 会自动指向/usr/local/Trolltech/QtEmbedded-4.5.2-arm/lib
9)制作根文件系统yaffs
首先应有个可用的yaffs文件系统包
a)在该文件系统建立目录/usr/local/Trolltech/QtEmbedded-4.5.2-arm/ ,然后在该目录下建立 ~/bin ~/lib 目录(命令不写了)  
b)将/usr/local/Trolltech/QtEmbedded-4.5.2-arm/lib里的所用文件复制于上述的~/lib,将上面编译得到的例子拷入~/bin
c)将 /usr/local/arm/3.3.2/arm-linux/lib/里的librt* 文件拷入根文件系统里的/lib目录
d)制作根文件系统
#mkyaffsimage 根文件系统目录 root_qte.bin
10)烧写进目标板,只有根文件系统在该板能用,应该都可以的
11)调试
不可设置变量就可以运行
#xxxx -qws
12)后续问题
--在运行时钟例子时是发现指针不能转动
希望大家有什么关于qt移植的问题提出来,大家一起讨论。
               
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/95058/showart_1989539.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP