Chinaunix首页 | 论坛 | 博客
  • 博客访问: 324908
  • 博文数量: 145
  • 博客积分: 2500
  • 博客等级: 少校
  • 技术积分: 1510
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-19 11:12
文章分类

全部博文(145)

文章存档

2007年(75)

2006年(70)

我的朋友

分类:

2007-04-25 13:24:35


一不小心,又过三天......

        这个Hello World可真不容易,本以为考完试可以在实验室全情投入,想不到第三天就要封闭...幸好朋友的实验室还可以用,电脑配置也不错 ^_^

        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.  下载交叉编译链。不要用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的源代码,建议到下载,速度比快,迅雷速度就不错。我下的是,解压

tar zxvf qtopia-core-opensource-src-4.2.2.tar.gz

cd qtopia-core-opensource-src-4.2.2

./configure -embedded arm -xplatform qws/linux-arm-g++ -depths  4,8,12,16 -no-qt3support 

gmake  (这个过程最漫长...)

gmake install  (需root 权限)

设置Qt的环境变量:

echo 'export PATH=/usr/local/Trolltech/QtopiaCore-4.2.2-arm/bin:$PATH' >> /root/.bashrc

这样还有一个字体目录的问题,搞了很久才找到原因,后面讲述。

        3.  编译Hello World,代码参考Qt的文档,保存未 hello.cc 。

qmake -project

qmake

make

将文件移到目标平台,我是通过nfs mount到/mnt/nfs目录下

 mount -t nfs -o nolock 202.192.33.100:/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.2.2
-rwxr-xr-x  1 root root 2082044 Jan 25 20:38 /home/nfs/new/lib/libQtCore.so.4.2.2
lrwxrwxrwx  1 root root      17 Jan 24 21:44 /home/nfs/new/lib/libQtGui.so.4 -> libQtGui.so.4.2.2
-rwxr-xr-x  1 root root 7100212 Jan 24 21:42 /home/nfs/new/lib/libQtGui.so.4.2.2
lrwxrwxrwx  1 root root      21 Jan 25 20:36 /home/nfs/new/lib/libQtNetwork.so.4 -> libQtNetwork.so.4.2.2
-rwxr-xr-x  1 root root  369700 Jan 25 20:35 /home/nfs/new/lib/libQtNetwork.so.4.2.2

        可以根据提示从/usr/local/Trolltech/QtopiaCore-4.2.2-arm/lib/复制过来,注意软链接。如提示缺失libstdc++.so.6等库文件,可从/usr/local/arm/3.4.1/arm-linux/lib复制过来。

        最后一个问题就是刚才提到的字体问题。网上的教程都是说将fontdir放到$QTDIR/lib/fonts目录下即可。但我编译的这个版本总不行,提示 Cannot find font definition file /usr/local/Trolltech/QtopiaCore?

        尝试多次后才发现这个目录就是QtopiaCore的安装目录。创建一个软链接搞定

ln -s /mnt/nfs /usr/local/Trolltech/QtopiaCore-4.2.2-arm

        文档提示可以用-prefix 指定安装目录,但这也不是办法,configure --help里相关的还有-R和-rpath,可以指定链接库位置。只是虚拟机太慢,现在不敢随便乱make了。

没想到一个 Hello World 用了3天......

 

Qt4.2.2 QtopiaCore4.2.2的安装

    今天在ubuntu上装了一天的qt。最开始的时候装的是qtopia-core-opensource-src-4.2.2.tar.gz,是按照解压后的INSTALL文件中描述的方法安装的。make的过程大约花了2小时,但不管如何总算是安上了。
    一直也搞不明白到了4.2.2版本的时候要进行嵌入式开发需要装写什么软件。因为以前是qt qte qtopia,而4.2.2版本就没有qte了。装软件就像是做实验一样,能使很多概念更加清楚。装完后看了目录结构就发现qtopia-core就象但与原来的qte。
    由于还没有安装qt-x11所以就没有qvfb,这样就运行不了qtopia-core中的程序。后来花了两小时下载了qt-x11-opensource-src-4.2.2.tar.gz。也是按照接下后的INSTALL文件进行安装,不过在make的时候报错,大概是由于X11包没有安装。于是打开新得立软件安装工具,搜索了X11,虽然没有找到具体的X11,但是把大致差不多的X11都标记安装了。make clean后重新安装,在执行make的时候就能通过,大概也花了2小时。
    安装完qt-x11后还得编译qvfb。cd qt/tools/qvfb后,make就能生成qvfb工具。所生成的qvfb工具不在当前目录,而失去了QTDIR,所以今后用的时候要将其拷贝到QTEDIR中,因为今后的嵌入式开发的QTDIR都会时指向Qtopia-core的路径。(说明:为了和以前的版本相适应,我将qtopia-core改名为qte了)。
    设置好环境变量PATH后就可以执行qvfb了。
    由于时间原因,真正的qtopia(qtopia-opensource-src-4.2.0.tar.gz)还没来的急安装。
 
    简单的总结安装步骤如下:
1. 解压:tar zxvf qtopia-core-opensource-src-4.2.2.tar.gz
2. 配置:./configure -prefix .
3. 编译:make
4. 安装:make install
 
 
1. 解压:tar zxvf qt-x11-opensource-src-4.2.2.tar.gz
2. 配置:./configure -prefix .
3. 编译:make
4. 安装:make install
5. cd tools/qvfb 之后make

 

阅读(1428) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~