[转]QT 4.5.2 嵌入式开发平台的搭建

原文

QT 4.5.2 嵌入式开发平台的搭建
系统环境:ubuntu
9.04
编译环境:crosstool 0.43
安装后生成4.1版本的arm-linux-GCC
在配置之前,sudo apt-get install
build-essential 来安装基本的开发环境

Qtx11(源码安装)
安装准备
 
建议直接下二进制程序安装。
1.安装依赖的库,你也可以不转,再安装出错的时候补上。
sudo
apt-get install libxrender-dev libxrandr-dev libxcursor-dev libxinerama-dev
libxi-dev libxt-dev libglib2.0-dev
-libxtst-dev 
这个是我刚装完系统后根据QTx11编译错误一个一个跟踪出来的,并不能保证是所有的安装依赖。

2.然后进入源代码顶层目录输入
./configure
-qt-sql-sqlite -plugin-sql-sqlite -nomake demos -nomake examples
-silent 
其中的编译参数可以自己根据./configure
-help里面的提示筛选。

Qt-embedded
安装准备

1.如果你的交叉工具组都是以arm-linux-开头的则直接进行下面的步骤就行了,否则要有两个方法,一就是给你的工具组做软连接,然他们的前缀为
arm-linux-。推荐用这办法。二是打开Qt-embedded的源码目录,修改
mkspecs/qws/linux-arm-g++/qmake.conf,将里面的arm-linux-改成你交叉编译工具的前缀。
2.
打开qt-embedded-linux-opensourcesrc4.5.2/src/gui/embedded/qmouselinuxtp_qws.h
在里添加如下两个宏定义,其原因不知道,还望高人指教,这是在网上搜集资料是看到的,我试过不添加,则下面提供的配置选项生成的Qt-embedded库编译出来的程序不能使用触摸屏。如果有人使用tslib触摸屏驱动成功移植的,也请分享一下。
#define
QT_QWS_IPAQ
#define
QT_QWS_IPAQ_RAW

3.进入源代码顶层目录输入:
./configure
-embedded arm -little-endian -qt-sql-sqlite -plugin-sql-sqlite -no-scripttools
-no-nis -no-largefile -no-libmng -no-accessibility -depths 16 -nomake docs
-nomake demos -nomake examples -qt-zlib -feature-THREAD -feature-CONCURRENT
-feature-SOUND -feature-EFFECTS -no-feature-CURSOR
-silent

同理,上面的配置参数可以根据嵌入式应用的需要,进行裁剪,把不需要的东西都去掉,这对嵌入式应用来说是非常重要的,不仅可以节省空间也提高效率。

Qt
Creator 安装

Qt Creator
是一款轻量级的IDE,我用它的目的就是为了方便QT程序的交叉编译。
1.如果Qtx11是从源码安装的,则不带Qt
Creator,这时可以去官方网站下载二进制程序安装。安装好后,打开Qt Creator->Tools->options
然后在左边的导航栏展开Qt4,选Qt Versions。点击右上的加号图标,在version name里可以随便填,主要用来区分X86 和 arm
等Qt库的版本,在路径选到之前安装QTx11 库的路径,默认安装是在
/usr/local/Trolltech/QtEmbedded-4.5.2,然后点击rebuild,如果看到打对勾,则一切正常。同理,可以在添加
上QtE-arm的库。
2.现在可以建立一个项目来玩玩,也可找到Qt-embedded的源码包,里面有一个触摸屏校正程序,在example\qws
\mousecalibration,这个程序是嵌入式设备必须的,不然触摸屏是不能使用的。用Qt
Creator打开其中的mousecalibration.pro文件。在Qt Creator左边,点击Projects。在Build Settings
勾上Release,Qt Version 选
之前你为QTE-arm库起的名字,然后build就生成适合开发板运行的QT程序了。

配置环境变量,方便用别的IDE和命令行调用qmake
moc 等程序

用编辑器打开~/.profile文件添加如下,保存注销就生效。
# set
PATH so it includes Qt4.5.2 X11 bin if it exists
if [ -d
"/usr/local/Trolltech/Qt-4.5.2/bin" ] ;
then
PATH="/usr/local/Trolltech/Qt-4.5.2/bin:$PATH"
fi

Qt文件系统的配置
准备
1.在根文件系统里建立/opt/qt/bin
lib plugins
三个文件夹
2.把/usr/local/Trolltech/QtEmbedded-4.5.2-arm/lib(即Qt-embedde库的安装目录)中的
libQtCore.so.4.5.2 libQtGui.so.4.5.2 libQtNetwork.so.4.5.2
放到开发板根文件系统的/opt/qt/lib里,并且做三个软链接分别为libQtCore.so.4 libQtGui.so.4
libQtNetwork.so.4
3.接着再把/usr/local/Trolltech/QtEmbedded-4.5.2-arm/lib/fonts/
中带Vera和fixed的文件拷贝到根文件系统的/opt/qt/lib/fonts/
4.再要把/usr/local/Trolltech/QtEmbedded-4.5.2-arm/plugins/imageformats
里的文件拷贝到根文件系统的/opt/qt/plugins/imageformats
里。
5.到现在基本的Qt库就已经移植好了。在移植应用程序的时候,可以用如下命令查看需要那些共享库:
arm-linux-readelf
-a 程序名 | grep
"Share",其中arm-linux-可该成你交叉编译工具的前缀

配置根文件系统
一般首先要做的就是将一个触摸屏校正程序放到文件系统的bin里(其实放那里都一样)。然后写一个脚本程序,让系统开机时调用,我的脚本程序initqt如下(别忘了给它添加可执行权限):
#!/bin/sh
export
HOME=/root
export
QTDIR=/opt/qt
#用来选择LinuxTP鼠标驱动
export set
QWS_MOUSE_PROTO="LinuxTP:/dev/h3600_tsraw"
export
QWS_DISPLAY="LinuxFB:/dev/fb0"
#用来调整字体显示的比例,里面的数值可以自己换一下看看效果
export
QWS_DISPLAY="LinuxFB:mmWidth130:mmHeight100:0"
export
QWS_SIZE="320x240"
export
QT_PLUGIN_PATH=$QTDIR/plugins/
#字体目录
export
QT_QWS_FONTDIR=$QTDIR/lib/fonts
export
PATH=$QTDIR/bin:$PATH
export
LD_LIBRARY_PATH=$QTDIR/lib:$QTDIR/plugins/imageformats:$LD_LIBRARY_PATH
#判断是否已经校正过屏幕了
if
[ -s "etc/pointercal" ] ;
then
else
/bin/mousecalibration
fi

再配置一下/etc/profile文件,让一下环境变量登录就有效,以下是我的配置:
#
Ash profile
# vim: syntax=sh
# No core files by
default
#ulimit -S -c 0 > /dev/null
2>&1
USER="`id
-un`"
LOGNAME=$USER
PS1=‘[\[email protected]\h \W]#

PATH=$PATH
HOSTNAME=`/bin/hostname`
export
USER LOGNAME PS1 PATH
export HOME=/root
export
QTDIR=/opt/qt
export set
QWS_MOUSE_PROTO="LinuxTP:/dev/h3600_tsraw"
export
QWS_DISPLAY="LinuxFB:/dev/fb0"
export
QWS_DISPLAY="LinuxFB:mmWidth130:mmHeight100:0"
export
QWS_SIZE="320x240"
export
QT_PLUGIN_PATH=$QTDIR/plugins/
export
QT_QWS_FONTDIR=$QTDIR/lib/fonts
export
PATH=$QTDIR/bin:$PATH
export
LD_LIBRARY_PATH=$QTDIR/lib:$QTDIR/plugins/imageformats:$LD_LIBRARY_PATH

最后在根文件系统的/etc/init.d/rcS
中的适当位置,加上/bin/initqt &

时间: 2024-10-25 20:23:03

[转]QT 4.5.2 嵌入式开发平台的搭建的相关文章

三星嵌入式开发平台 三星Cortex-A9 4412 POP与SCP对比

iTOP-4412核心板是迅为电子推出的一款高端四核核心板,其中分为POP封装与SCP封装,配备三星Exynos 4412四核处理器,主频为1.4GHz,内置16GB存储空间.该板设计小巧.配备三星自家电源管理芯片,具有9路DC/DC和28路LDO输出电源,在-20℃至70℃范围的高低温运行测试中运行良好,支持MPEG-4/MPEG2.H.264/H263.VC-1.DivX的视频编解码[email protected].这款核心板不仅拥有强大的配置,其进口高质量板对板连接器也使行业应用更加广泛

ARM-linux嵌入式开发平台搭建1

初学嵌入式开发,由于是自学,走了很多弯路,现总结一下嵌入式ARM-LINUX开发环境搭建步骤: 1.安装linux系统,由于初学,我选择fedora 14.安装的具体步骤就不详细说了. 2.安装NFS服务器: NFS服务器用于UNIX和UNIX之间的通信,分为主机和客服端,需要安装NFS服务器软件包,其中nfs-utils-*包提供NFS服务器启动脚本和管理维护工具. 服务器端: (1).安装NFS服务器软件包  例:rpm -ivh nfs-utils-*.rpm (2).启动NFS服务程序

Android开发平台的搭建

开发软件:Android Studio(下载)         开发环境:Android SDK(下载) 一.下载并安装: 要让Android开发软件运行起来,必须事先安装好软件的运行环境SDK,Android Studio跟SDK可以到http://www.android-studio.org/index.php/download下载. 这里提供两种选择: 1.下载Android Studio,下载好了之后双击打开,边看提示边安装,如果将Android SDK选项打钩(左下图片),软件就会自动

linux嵌入式&开发环境的搭建&VMware的安装与使用

学习linux嵌入式开发,顾名思义,需要在linux操作系统下进行开发,所以我们需要先有一个linux操作系统.这里由于我们是在 Windows 下进行开发的,如果想在不安装双系统的前提下进行linux嵌入式开发,这里我们就要用到虚拟机VMware软件了,使用VMware的目的就是可以在该软件下构建出多个操作系统.那么VMware又是如何安装和使用的呢? 1.VMware的安装 下载 VMware-workstation-full-11.1.2.61471.1437365244 软件,这里以WM

linux嵌入式开发平台网卡驱动解决办法

最近用了下树莓派和inter Edison,本来打算使用一下网卡,可是发现树莓派和Edison竟然都编译不了官方的驱动,报错缺少 /kenerl/bulid 目录,查了下资料,原来是这些嵌入式平台都为了节省空间,都没有搭载源码,而在网卡的驱动程序中有需要调用系统的接口,但是没有源码,这些接口也就没有了,编译的时候就找不到接口,so,报错了. 一编译驱动 解决办法有两个: 第一 安装source-devel source-devel也就是源码库,你所用的内核的接口该有的它都有. 1. 首先,查看内

嵌入式开发平台 迅为6818开发板接口详解

迅为八核iTOP-6818开发板接口详解: iTOP-4418接口图: iTOP-6818核心板: iTOP-6818开发板接口详解: 1.POWER电源接口 电源输入为5V/2A+,给核心板AXP228电源管理芯片提供5V电源,给底板供电. 2. SWITCH电源开关 轻触电源开关可以控制开发板电源通断. 3. 拨码开关 3位拨码开关控制4418启动模式. 4. 模数转换 A/D模数转换,调整滑动变阻器,模拟量可以通过转换口检测到. 5. JTAG接口 保留JTAG接口,有需要的用户可以进行扩

嵌入式开发平台开机自启应用程序

https://www.cnblogs.com/downey-blog/p/10473939.html https://www.cnblogs.com/aaronLinux/p/6804531.html https://blog.csdn.net/catfish408/article/details/78865548 原文地址:https://www.cnblogs.com/retry/p/12607407.html

Linux开发平台的搭建之Vim

一直都认为Linux很强大,但是让我说它哪里强,我还真说不出来.所以打算从今天开始学习Linux,基于前期掌握了一些基础的Linux操作命令,在这就不一一介绍.好的开发都是从搭建一个优秀稳定可靠的平台开始.下面着重介绍几个平台搭建的软件. 开发环境: 宿主主机:Thinkpad E40 主机操作系统:Windows 7 虚拟机:VMware Workstation 10.0.4 虚拟操作系统:Ubuntu 10.04 LTS 一.    平台搭建软件之vim 初学Linux首先要接触的第一个编写

1-st Android开发平台的搭建

兜兜转转两三天,终于准备好了所有的Android开发工具,我将安装过程中碰到的一些问题和解决方案,整理如下: 电脑状况:win8.1系统  已FQ(推荐FQ软件,修改hosts文件) 一.  java安装包 地址:http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html 选择JDK:8u73和8u74区别不大,任意选择.这里提一下开发版本选择的问题:如果内存充足,一般选用最新版本,一般选用较完整的版