`
ydbc
  • 浏览: 745513 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

Qt4.4.3 在s3c2440平台的移植(EMBEDDED 7)

 
阅读更多

Qt4.4.3 在s3c2440平台的移植(EMBEDDED 7)

1.解压缩
tar zxf qt-embedded-linux-opensource-src-4.4.3.tar.gz
cd qt-embedded-linux-opensource-src-4.4.3

2.编译,使用系统默认的图片库,保留大部分常用功能,并加入tslib触摸屏校验的支持
./configure /
-prefix /new_disk/weiyan/qt/build/ / //指定安装的目录,与开发板上运行的目录一致
-release -shared /
-fast /
-pch /
-no-qt3support /
-qt-sql-sqlite /
-no-libtiff -no-libmng /
-qt-libjpeg /
-qt-zlib /
-qt-libpng /
-qt-freetype /
-no-openssl /
-nomake examples -nomake demos -nomake tools/
-optimized-qmake /
-no-phonon /
-no-nis /
-no-opengl /
-no-cups /
-no-xcursor -no-xfixes -no-xrandr -no-xrender -no-xkb -no-sm/
-no-xinerama -no-xshape /
-no-separate-debug-info /
-xplatform qws/linux-arm-g++ /
-embedded arm /
-depths 16 /
-no-qvfb /
-qt-gfx-linuxfb /
-no-gfx-qvfb -no-kbd-qvfb -no-mouse-qvfb/
-qt-kbd-usb /
-confirm-license /
-qt-mouse-tslib

make (或者gmake)
make install (或者gmake install)

3.设置Qt4应用程序的编译环境
cp bin/qmake /usr/bin

4.制作Qt4的文件系统,进行适当的裁减
只复制必须的Qt库
cd $rootfs #$rootfs 为文件系统的目录
mkdir new_disk/weiyan/qt/build –p && cd new_disk/weiyan/qt/build
cp /new_disk/weiyan/qt/build/lib/libQtCore.so ./
cp /new_disk/weiyan/qt/build/lib/libQtGui.so.4 ./
cp /new_disk/weiyan/qt/build/lib/libQtNetwork.so.4 ./
mkdir fonts
只复制支持中文显示的文泉驿字体
cp /mnt/qt/build/lib/fonts/wenquanyi_120_50.qpf fonts

5.编译内置的测试程序
cd $QTDIR/examples/qws/mousecalibration
qmake && make
cp mousecalibration $rootfs/new_disk/weiyan/qt/build/

6.在wy2440开发板上运行QT4测试程序
重新生成yaffs2文件系统
mkyaffs $rootfs rootfs.yaffs2

已生成的文件系统大小为24M
ll rootfs.yaffs -h
-rw------- 1 root root 24M 2008-11-02 03:09 rootfs.qt4

在wy2440开发板上重新烧写文件系统,进入到U-Boot
WEIYAN # run uprootfs 自动升级文件系统
WEIYAN # boot 启动内核

设置QT4运行的环境变量
export QTDIR=/new_disk/weiyan/qt/build
export LD_LIBRARY_PATH=$QTDIR/lib:$OPIEDIR/lib
export PATH=$QTDIR/bin:$OPIEDIR/bin:$PATH
export QWS_MOUSE_PROTO=tslib:/dev/event1
export TSLIB_ROOT=/usr
export TSLIB_TSDEVICE=/dev/event1
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_CONFFILE=/etc/ts.conf

执行基于Qt4的触摸屏校验
[root@WEIYAN /]$ ./new_disk/weiyan/qt/build/mousecalibration

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

分享到:
评论

相关推荐

    Qt4.4.3 在s3c2440平台的移植.doc

    《Qt4.4.3在S3C2440平台的移植详解》 Qt是一个跨平台的应用程序开发框架,广泛应用于桌面、移动设备和嵌入式系统。本文将详细介绍如何将Qt4.4.3移植到基于S3C2440处理器的嵌入式平台上,帮助开发者构建在该硬件上的...

    QT4.4.3安装手记

    QT4.4.3作为一款广泛使用的跨平台应用程序开发框架,在Windows平台上具有较高的兼容性和稳定性。 #### 二、准备工作 在开始安装之前,请确保已下载了以下文件: 1. **QT4.4.3**:下载地址为qt-win-opensource-...

    OK6410 QTE移植教程之三 移植QT-EXTENDED-4.4.3.rar

    【OK6410 QTE移植教程之三:移植QT-EXTENDED-4.4.3】是一个关于在OK6410开发板上移植Qt Extended 4.4.3的详细教学资源。Qt Extended是Qt框架的一个扩展,它包含了Qt GUI库以及额外的组件,如Qtopia Core和Qtopia ...

    QT移植到虚拟机和arm s3c2440单板

    总的来说,将QT移植到s3c2440开发板涉及对QT源码的修改、适配硬件环境以及在目标平台上正确部署和运行。对于初学者来说,这个过程既具有挑战性,也是学习嵌入式开发和QT技术的好机会。通过这个实践,你不仅掌握了QT...

    基于S3C2440平台搭建Linux环境.pdf

    这篇文章以在S3C2440平台上移植Linux操作系统为目标,探讨了如何构建交叉编译环境,以及Linux和U-boot的移植技术。 **交叉编译环境** 在嵌入式系统开发中,由于目标平台资源有限,通常采用交叉编译的方式。交叉...

    QT4.6.3移植到s3c2440交叉编译后的lib

    在ubuntu14下,使用友善之臂4.4.3交叉编译的qt4.6.3lib,放到/lib下就可以在板子上跑qt程序了

    linux QT4.4.3安装步骤

    在开始安装QT4.4.3之前,我们需要确保系统环境已经准备好。这里假设您正在使用Linux操作系统,并且已经具备基本的shell操作能力。 #### 二、下载QT源码包 1. **下载源码包**:首先,你需要从官方网站或其他可信源...

    _QtEmbedded-4.4.3-移植过程说明

    ### QtEmbedded-4.4.3 移植过程详述 #### 一、环境搭建与配置 在进行 QtEmbedded-4.4.3 的移植前,需要先搭建一...通过以上步骤,可以成功地将 QtEmbedded-4.4.3 移植到目标平台上,从而实现图形用户界面的应用开发。

    原创Mini2440 QT4移植教程.pdf

    ### 原创Mini2440 QT4移植教程 #### 概述 本文档旨在指导用户如何将QT4.5.3移植到基于ARM架构的Mini2440开发板上。本教程适用于初学者,并且对于那些希望在嵌入式系统中使用QT框架进行界面开发的人员也非常有用。...

    Qt 串口通讯程序源码 for windows_qt4.4.3+qc0.9.rar

    【Qt 串口通讯程序源码 for windows_qt4.4.3+qc0.9.rar】是一个针对Windows平台的串口通信程序的源代码包,基于Qt 4.4.3版本和qc(Qt Comms)库0.9版。这个程序允许开发者通过计算机的串行端口与其他设备进行数据...

    S3C2440声卡uda134驱动&madplay移植

    Madplay是一款高质量的MPEG音频播放器,为了在S3C2440平台上移植Madplay,需要准备以下软件包: - `madplay-0.15.2b.tar.gz` - `libmad-0.15.1b.tar.gz` - `libid3tag-0.15.1b.tar.gz` - `zlib-1.1.4.tar.gz` 这些...

    qt2和qt4编译,移植,使用方法教程完全版

    ### Qt2.2.0 和 Qt4.4.3 的编译、移植及使用方法教程完全版 #### 一、前言 随着嵌入式系统的不断发展,Qt 已成为跨平台图形用户界面开发的重要工具之一。Qt 提供了丰富的 API 和工具集,使开发者能够快速构建美观且...

    QT4.7.2 mini2440 移植文档

    ### QT4.7.2 mini2440 移植文档关键知识点...接下来的章节将会详细介绍如何安装和配置交叉编译器,以及如何在 mini2440 平台上完成 Qt4.7.2 的移植工作。这部分内容非常重要,因为它涉及到具体的命令行操作和配置细节。

    qt-extended-4.4.3多种编译

    本文档将详细讲解如何在本地进行编译以及如何进行交叉编译 Qt Extended 开源版本 4.4.3。 #### 准备工作 首先确保已经获取了 `qt-extended-opensource-src-4.4.3.tar.gz` 文件,并将其放置于 `/home/work/desktop`...

    U-BOOT移植S3C2440完全手册.pdf

    ### U-BOOT移植S3C2440完全手册知识点概览 #### 一、BOOTLOADER的概念与功能 **1.1 嵌入式LINUX软件结构与分布** 在嵌入式Linux系统中,软件层次结构通常包括硬件层、Bootloader层、操作系统层、中间件层以及应用...

    OK6410 QT移植百科全书.pdf

    - 通过这份详尽的手册,初学者可以快速掌握QT在OK6410平台上的移植方法,从而更好地利用QT开发嵌入式应用程序。 - 手册还提供了丰富的参考资料和技术支持信息,帮助开发者解决实际开发中可能遇到的问题。 - 对于那些...

    qt-4.4.3part2

    4.开始->所有程序->Microsoft Visual Studio 2005->Visual Studio Tools->Visual Studio 2005 命令提示输入下面命令 c:回车再输入cd C:\QT\qt-win-opensource-src-4.4.3回车,再输入configure(可以只选择一部分的...

    最实用最全面的QT移植手册PDF版下载

    一直以来,QT的移植作为嵌入式学习的一大难题, 始终困扰着初入此行的工程师。这方面的资料虽然不少,但仍不够系统和详细,使得学习起来相当吃力。初学者常常因为一个细节没有注意到而花费过长的时间;同时,QT本身...

    qt移植

    ### Qt 移植详解 #### 一、基础知识与概念 **Qt 移植**是指将Qt框架及其应用程序从一种平台(比如PC上的Windows或...通过以上步骤和注意事项,开发者可以顺利完成Qt移植工作,并在其目标平台上顺利运行Qt应用程序。

Global site tag (gtag.js) - Google Analytics