免费注册 查看新帖 |

Chinaunix

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

QT4开发全解析(二) [复制链接]

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

QTE(Qtopia core)移植(一)
Qtopia Core 4是QT/embedded的最新版,网上尽是QT/embedded 2的版本
        我的目标平台是博创的s3c2410,linux2.4内核,开发平台是RHEL.AS.v4.0.Update2,直接从ftp: //ftp.scau.edu.cn/linux_unix/VMware_OS/RedHat_AS_4/Red Hat Enterprise Linux 4.vmdk下载的虚拟机镜像。经过这三天的使用,我认为虚拟机构建的系统有两个特点:一是慢,编译整个Qtopia Core 4用了近五个小时;二是使用方便,可以直接在windows通过pietty连接,一边查资料,一边配置系统,而且工作环境改变时只需将镜像直接移到另外一台电脑,马上可以工作 ^_^
下面是Qtopia Core 4移植过程:
        1.  下载交叉编译链
ftp://ftp.handhelds.org/projects/toolchain/arm-linux-gcc-3.4.1.tar.bz2
。不要用cross-2.95.3,Qtopia Core 4指明要3.2以上的版本。网上的教程大多就拿cross-2.95.3编译QT/embedded 2的...解压缩到/usr/local/arm目录下
tar xjvf linux-gcc-3.4.1.tar.bz2 -C /
设置交叉编译的环境变量:
echo 'export PATH=/usr/local/arm/3.4.1/bin:$PATH' >> /root/.bashrc
        2.  下载Qtopia Core 4的源代码
qtopia-core-opensource-src-4.3.3.tar.gz
,解压
tar zxvf qtopia-core-opensource-src-4.3.3.tar.gz
cd qtopia-core-opensource-src-4.3.3
vi build.sh
添加内容
./configure -embedded arm -xplatform qws/linux-arm-g++ -depths  16 -no-qt3support -little-endian  
gmake  (这个过程最漫长...)
gmake install  (需root 权限)
./build.sh
设置Qt的环境变量:
echo 'export PATH=/usr/local/Trolltech/QtopiaCore-4.3.3-arm/bin:$PATH' >> /root/.bashrc
这样还有一个字体目录的问题,后面讲述。
        3.  编译Hello World,代码参考Qt的文档,保存未 hello.cc 。
qmake -project
qmake
make
将文件移到目标平台,我是通过nfs mount到/mnt/nfs目录下
mount -t nfs -o nolock 192.168.1.112:/home/nfs /mnt/nfs
export QTDIR=/mnt/nfs
export LD_LIBRARY_PATH=$QTDIR/lib
$QTDIR/lib里面放程序要用到的库和字体
lrwxrwxrwx  1 root root      18 Jan 25 20:39 /home/nfs/new/lib/libQtCore.so.4 -> libQtCore.so.4.3.3
-rwxr-xr-x  1 root root 2082044 Jan 25 20:38 /home/nfs/new/lib/libQtCore.so.4.3.3
lrwxrwxrwx  1 root root      17 Jan 24 21:44 /home/nfs/new/lib/libQtGui.so.4 -> libQtGui.so.4.3.3
-rwxr-xr-x  1 root root 7100212 Jan 24 21:42 /home/nfs/new/lib/libQtGui.so.4.3.3
lrwxrwxrwx  1 root root      21 Jan 25 20:36 /home/nfs/new/lib/libQtNetwork.so.4 -> libQtNetwork.so.4.3.3
-rwxr-xr-x  1 root root  369700 Jan 25 20:35 /home/nfs/new/lib/libQtNetwork.so.4.3.3
        可以根据提示从/usr/local/Trolltech/QtopiaCore-4.3.3-arm/lib/复制过来,注意软链接。如提示缺失libstdc++.so.6等库文件,可从/usr/local/arm/3.4.1/arm-linux/lib复制过来。
        字体问题。提示 Cannot find font definition file /usr/local/Trolltech/QtopiaCore?
    实际上这个应该算上是qt的一个bug,因为在pc的平台上,安装的路径就是运行的路径,所以它在设计QTE的时候也是沿用了这一套思想,实际在嵌入式下并不是这样的,所以我们在configure配置的时候使用-prefix指定安装的目录:
./configure -embedded arm -xplatform qws/linux-arm-g++ -depths  16 -no-qt3support -little-endian  -prefix /mnt/nfs/Trolltech/QtopiaCore-4.3.3
如果你的目录还是不对,就建议是建立一个软连接:ln -s
     nfs server still trying的问题:
     因为QT的共享库很大,所以在使用nfs服务的时候最好是能给他指定大点的缓冲区
mount -t nfs -o nolock,rsize=4096,wsize=4096 192.168.1.112:/home/nfs /mnt/nfs



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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP