qt-embedded-linux-opensource-src-4.5.3移植到s3c6410

简介:

首先要有配置好的环境,本文使用的编译环境如下:

主机系统:Ubuntu 9.10
主机编译器:gcc 版本 4.4.1
交叉编译器:arm-linux-gcc-4.0.1
软件资源:qt-embedded-linux-opensource-src-4.5.3.tar.gz
 qt-x11-opensource-src-4.5.1.tar.gz

 

移植过程:

平时程序都是在PC上完成的,所以我们需要先安装X11版的Qt来获得qvfb这个工具。嵌入式的开发有了qvfb,就可以不需要实际的开发板,也可以开发Qt应程序。

qt-x11-opensource-src-4.5.1编译安装过程:

1.解压文件

将qt-x11-opensource-src-4.51.tar.gz复制到/root/local/qt目录下,进行解压,在终端中进行如下操作:

#cd /root/local/qt

#tar zxvf qt-x11-opensource-src-4.5.1.tar.gz

解压完成后,得到/usr/local/qt/qt-x11-opensource-src-4.5.1目录。下面就开始进行编译了。

2.编译及安装qt-x11-opensource-src-4.5.1

进入/usr/local/qt/qt-x11-opensource-src-4.5.1目录,进行编译安装。在终端中进行如下操作:

#./configure –qvfb

#make

#cd tools/qvfb

#make

#cd ../..

#make install

3.复制文件

make install 完 成后,会在/usr/local目录下生成一个Trolltech目录,形成/usr/local/Trolltech目录,这是qt-x11- opensource-src-4.5.1安装后所在的目录,进入/usr/local/Trolltech会看到一个Qt-4.5.1的目录,将 /usr/local/qt/qt-x11-opensource-src-4.5.1/tools/qvfb目录下的qvfb相关文件拷贝到/usr /local/Trolltech/Qt-4.5.1/bin目录下,在终端中操作(确定当前目录是/usr/local/qt/qt-x11- opensource-src-4.5.1):

#cp tools/qvfb/qvfb* /usr/local/Trolltech/Qt-4.5.1/bin

 

qt-embedded-linux-opensource-src-4.5.1编译安装过程,为了程序开发的便捷性,我安装了x86版和arm版,先在PC上使用x86版和qvfb开发,完成以后再使用arm版交叉编译放到开发版上运行。

编译及安装qt-x11-opensource-src-4.5.1-arm

安装这个是最为关键的,因为编译好后要把lib拷贝到板子上

对于触摸屏幕,我使用的是 tslib1.4

交叉编译tslib过程如下:

解压到/home下

#./autogen.sh
#./configure --prefix=/home/duancp/mytslib/ --host=arm-linux ac_cv_func_malloc_0_nonnull=yes (可以先生成个cache文件)

#make

#make install-strip //生成瘦身应用程序和库

编译qt-x11-opensource-src-4.5.1-arm

进入/usr/local/qt/qt-x11-opensource-src-4.5.1-arm目录,进行编译安装。在终端中进行如下操作:

./configure -prefix /usr/local/QtEmbedded-4.5.2 -embedded arm -no-webkit -qt-mouse-tslib

 qws/linux-arm-g++/qmake.conf中添加:

QMAKE_INCDIR = tslib -build/include # path to compiled includes
QMAKE_LIBDIR = tslib -build/lib # path to compiled libs

#make

#make install

漫长的编译结束后将在主机(Ubuntu)下的/usr/local/QtEmbedded-4.5.2 得到编译后的结果。

设置在ARM中运行时的环境变量

上面步骤之后已经得到了可用的 Qte,把整个 QtEmbedded-4.5.2 目录复制到板子根目录

的/usr/local/路径下。接着在板子的/usr/local/QtEmbedded-4.5.2 中添加脚本文件setenv-arm.sh,

添加如下内容:

 

export QTDIR=/usr/local/QtEmbedded-4.5.2

export QPEDIR=/usr/local/QtEmbedded-4.5.2

export PATH=$QTDIR/bin:$PATH

export LD_LIBRARY_PATH=$QTDIR/lib:/usr/local/lib:$LD_LIBRARY_PATH

export TSLIB_TSDEVICE=/dev/input/event1

export TSLIB_CONFFILE=/usr/local/etc/ts.conf

export TSLIB_PLUGINDIR=/usr/local/lib/ts

export TSLIB_CALIBFILE=/etc/pointercal

export QT_QWS_FONTDIR=/usr/local/QtEmbedded-4.5.2/lib/fonts

export QWS_MOUSE_PROTO="TSLIB:/dev/input/event1 USB:/dev/input/mice"

export QWS_SIZE='480x272'

export QWS_KEYBOARD=TTY:/dev/tty1

 

不过为了防止权限不足的问题,在主机上先给与这个文件可执行属性:

sudo chmod 777 setenv-arm.sh

注意红色部分字体的设置是非常重要的,主要是指定触摸屏的工作参数。最后一句是自

动运行特定的程序,保存退出,并进入板子 shell 界面执行这个脚本:

cd /usr/local/QtEmbedded-4.5.2

./setenv-arm.sh

接着便可以运行一下自带的那些测试程序了:

/usr/local/QtEmbedded-4.5.2/examples/graphicsv

iew/collidingmice/collidingmice -qws -fn wenquanyi

 

注意:需要提醒用户注意的是,qtopia-2.2.0 的运行和 Qte-4.5.2 的运行需要设置不同的

环境变量,因此最好保证两者没有同时运行。如果系统中已经运行了 qtopia-2.2.0,请使用

kill 命令将 qtopia 相关的进程都杀死。


本文转自feisky博客园博客,原文链接:http://www.cnblogs.com/feisky/archive/2010/05/30/1747480.html,如需转载请自行联系原作者


相关文章
|
2月前
【qt】项目移植
【qt】项目移植
17 0
【qt】项目移植
|
4月前
|
存储 编解码 Ubuntu
【QT】linux下alsa库的移植和QT中音视频的处理&笔记
【QT】linux下alsa库的移植和QT中音视频的处理&笔记
|
4月前
|
网络协议 Linux 编译器
【原创】EtherCAT主站IgH解析(二)-- 如何将Igh移植到Linux/Windows/RTOS等多操作系统移植指南
EtherCAT主站方案对比:商业的如Acontis、TwinCAT3和开源的igh、SOEM。SOEM易移植但功能和实时性不足,适合简单应用;igh功能强大,实时性能优秀,基于内核态,适合复杂场景。igh能移植到其他RTOS,但需克服多任务无调度的挑战。依赖操作系统服务如定时器、内存分配,适合Linux内核,但移植到裸机复杂。
147 0
|
5月前
|
Linux 编译器 网络安全
嵌入式Linux移植dropbear
嵌入式Linux移植dropbear
162 3
|
5月前
|
JSON Ubuntu Linux
LuaJit交叉编译移植到ARM Linux
LuaJit交叉编译移植到ARM Linux
104 1
|
5月前
|
Linux 编译器 测试技术
嵌入式 Linux 下的 LVGL 移植
嵌入式 Linux 下的 LVGL 移植
199 0
|
5月前
|
Linux 计算机视觉
Linux交叉编译opencv并移植ARM端
通过以上步骤,你可以在Linux上交叉编译OpenCV,并将生成的库文件和头文件移植到ARM平台上,从而在ARM上使用OpenCV。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
415 0
|
5月前
|
存储 Linux Shell
嵌入式 Linux 移植与系统启动方法
嵌入式 Linux 移植与系统启动方法
81 0
|
5月前
|
编解码 Ubuntu 算法
【Linux】NUC977移植使用MQTT(基于mosquitto)
【Linux】NUC977移植使用MQTT(基于mosquitto)
|
5月前
|
网络协议 Unix Linux
【Linux】NUC977移植使用libmodbus
【Linux】NUC977移植使用libmodbus
147 0
下一篇
无影云桌面