qt程序移植到arm开发板

合集下载

qt交叉编译arm linux程序

qt交叉编译arm linux程序

qt交叉编译arm linux程序-概述说明以及解释1.引言1.1 概述引言部分,概述部分内容:QT交叉编译是指在一台主机上使用QT开发环境,将程序编译为在不同操作系统或硬件平台上运行的可执行文件。

而ARM Linux是一种基于ARM架构的开源操作系统,在嵌入式系统领域广泛应用。

本篇文章将介绍如何使用QT开发环境进行交叉编译,将程序编译成可以在ARM Linux 平台上运行的程序。

本文将从整体上介绍QT交叉编译的概念和原理,以及ARM Linux 平台的基本知识。

然后,我们将详细介绍如何搭建QT交叉编译环境,并给出一步一步的操作步骤。

最后,我们将总结整篇文章的内容,并展望QT交叉编译ARM Linux程序的意义和应用前景。

通过本文的学习,读者将能够了解QT交叉编译的基本原理和步骤,具备搭建QT交叉编译环境的能力,并能够将编写的程序成功地交叉编译为可以在ARM Linux平台上运行的程序。

这对于需要在嵌入式系统中进行开发的工程师和开发者来说,具有重要的实际意义。

然而,本文还存在一些不足之处,例如在具体步骤的讲解中可能存在一些细节问题,还有一些更高级的主题未能深入探讨。

因此,我们对本文的改进方向也进行了一定的展望,希望能够进一步完善和拓展相关内容。

总之,通过本文的学习,读者将能够掌握QT交叉编译ARM Linux 程序的基本知识和技能,为嵌入式系统的开发和应用提供了一定的参考和指导。

希望本文对读者有所帮助,并能够引起更多对此领域的关注和研究。

1.2 文章结构文章结构部分的内容是对整篇文章的组织和框架进行介绍。

通过明确文章的结构,可以帮助读者更好地理解文章内容和主要观点的呈现方式。

在本文中,文章结构包括以下几个方面:1. 引言:介绍本篇文章的背景和意义,以及总结文章的主要内容。

2. 正文:主体部分,详细介绍QT交叉编译ARM Linux程序的相关知识和步骤。

- 2.1 QT交叉编译概述:介绍QT交叉编译的基本概念、原理和应用领域。

迅为imx6开发板QT系统移植FFmpeg移植到ARM开发板和测试

迅为imx6开发板QT系统移植FFmpeg移植到ARM开发板和测试

迅为imx6开发板QT系统移植FFmpeg移植到ARM 开发板和测试
尺寸:51mm*61mm
四核商业级-2G:四核 i.MX6Q,主频 1 GHz;内存:2GB DDR3;存储:16GB EMMC;SATA接口:支持
双核商业级-1G:NXP 双核精简版 i.MX6DL,主频 1GHz ;内存:1GB DDR3;
存储:8GB EMMC;SATA接口:不支持
四核工业级-1G :NXP 四核 i.MX6Q,主频 800MHz;内存:1GB DDR3;
存储:8GB EMMC;SATA接口:支持
四核Plus版本:NXP 四核 i.MX6Q,主频 1 GHz;内存:2GB DDR3;存储:16GB EMMC;SATA接口:支持
EEPROM:4MB的EEPROM用来存储关键数据
:内部自立
工作:5V 系统支持:4.4.2/6.0系统 + Qt4.7/5.7系统 12.04/16.04/20系统商业级运行温度:0℃到+70 ℃
工业级运行温度:-40℃到+85 ℃
引角扩展:引出脚多达320个,满足用户各类扩展需求
扩展参数:
千兆以太网:1路自适应千兆以太网
EIM通用: 32位数据线全引出
SDIO:3路
JTAG:1路引出(注:邮票孔底板不支持)
SATA:1路
CAMARA:DVP和MIPI接口全引出
:双路LVDS和24位RGB接口
:1路V1.4
GPIO:引出
第1页共3页。

Fedora9 下搭建Qt Creator的ARM开发环境并移植Qt4.6.3-books到mini2440

Fedora9 下搭建Qt Creator的ARM开发环境并移植Qt4.6.3-books到mini2440
软件准备:
到/downloads-cn下载最新版的软件包,当前是:
1、用于 Linux/X11 32位 的 Qt Creator 2.0.0 二进制软件包Qt SDK for Linux/X11 32-bit** (371 MB)( /qtsdk/qt-sdk-linux-x86-opensource-2010.04.bin)
-no-opengl \
-no-cups \
-no-glib \
-no-xcursor -no-xfixes -no-xrandr -no-xrender \
-no-separate-debug-info \
-nomake examples -nomake tools -nomake docs \
# make
# make install
我下载的包解压后没有configure文件,需要运行autogen.sh后才能生成。
9、进入qt-everywhere-opensource-src-4.6.3-arm目录编译安装
首先先配置:
注:必须加上“-prefix /usr/local/Trolltech/QtEmbedded-4.6.3-arm ”参数, 不然安装后不在QtEmbedded-4.6.3-arm文件夹下,而是覆盖了QtEmbedded-4.6.3。
1234 dev lib opt sbin usr
Settings etc linuxrc proc sys var
bin home mnt root tmp www
5. 编译 PC 版:
进入pc目录
#./configure
# gmake
# gmake install

移植QT5.6到嵌入式开发板(史上最详细的QT移植教程)

移植QT5.6到嵌入式开发板(史上最详细的QT移植教程)

移植QT5.6到嵌⼊式开发板(史上最详细的QT移植教程)⽬前⽹上的⼤多数 QT 移植教程还都停留在 qt4.8 版本,或者还有更⽼的 Qtopia ,但是⽬前 Qt 已经发展到最新的 5.7 版本了,我个⼈也已经使⽤了很长⼀段时间的 qt5.6 for windows ,本⽂就来介绍⼀下QT在嵌⼊式环境的搭建。

移植以到 JZ2440 为例,使⽤韦⽼⼤提供的 ubuntu9.10 虚拟机作为移植环境。

当然,其它虚拟机也是可以的,我同样在 ubuntu14.04 移植成功,只不过需要额外装⼀些库,后⾯我会简单提及。

此外,我尝试使⽤ 4.3.2 版本的交叉编译⼯具编译 Qt5.6 ,编译过成功很多错误,编译成功之后使⽤ qt 编译应⽤程序时也存在问题,因此我是⽤的是友善提供的 4.4.3 版本的交叉编译⼯具。

建议新⼿使⽤与我相同的编译环境。

因为我们更换了编译⼯具,因此,我们有接下来的4个⼯作。

1、重新编译内核2、制作⽂件系统3、移植tslib4、移植qt⼀、更换交叉编译器⾸先,将下载好的⽂件全部放在 /work ⽬录下1、解压交叉编译器sudo tar zxvf arm-linux-gcc-4.4.3.tar.gz -C / #展开在根⽬录ls /opt/FriendlyARM/toolschain/4.4.3/bin #检查是否⽣成了编译⽬录2、设置环境变量sudo vi /etc/environment将现在原有的交叉编译器路径替换为我们新解压的交叉编译器,举例:1. #PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/work/tools/gcc-3.4.5-glibc-2.3.6/bin"//注释2. PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/FriendlyARM/toolschain/4.4.3/bin" //增加后期测试时我发现这⾥是有问题的,由于我的安装⽬录都指定的是 usr ⽬录,需要 root 权限,然⽽在 environment 中设置的环境变量导致使⽤ root 权限 make install 过程中出现了个别的 command not found ,于是我将环境变量放到了 /etc/profile 中,这个⽂件是对所有⽤户⽣效的。

arm qt编译步骤

arm qt编译步骤

在使用ARM架构上编译Qt应用程序的过程中,你需要使用交叉编译工具链,该工具链能够生成适用于ARM处理器的可执行文件。

以下是通用的ARM架构上Qt 应用程序的编译步骤。

请注意,具体的步骤可能会因为Qt和工具链的版本而有所不同,因此请参考你使用的具体版本的Qt和工具链的文档。

步骤:1. 安装交叉编译工具链:首先,你需要安装适用于ARM架构的交叉编译工具链。

这个工具链包括编译器、链接器等工具,用于生成ARM平台上的可执行文件。

工具链的获取和安装方法取决于你的目标平台,你可能需要从交叉编译工具链的官方网站或者嵌入式 Linux 发行版的软件包管理器中获取。

2. 获取Qt源代码:你可以从Qt的官方网站上下载Qt的源代码。

确保下载的是适用于你目标ARM平台的版本。

3. 配置Qt编译环境:解压下载的Qt源代码,并进入源代码目录。

然后运行configure脚本,配置Qt编译环境。

在这一步,你需要指定交叉编译工具链的路径,并设置一些其他选项,如目标设备的架构和操作系统等。

请根据实际情况替换<device>和/path/to/cross-compiler。

4. 编译Qt:运行make命令,开始编译Qt。

这个过程可能会花费一段时间,具体取决于你的机器性能和编译选项。

5. 安装Qt:编译成功后,运行make install命令,将Qt安装到指定目录。

6. 编译你的Qt应用程序:现在你已经成功编译并安装了Qt库,接下来你可以使用交叉编译工具链来编译你的Qt应用程序。

这里的your_project.pro是你的Qt项目文件。

请注意,这些步骤是一个通用的概述,具体的步骤和参数可能会根据你的环境和需求而有所不同。

确保查阅Qt文档和交叉编译工具链的文档以获取更详细的信息。

qtcreator单步调试嵌入式arm程序的方法

qtcreator单步调试嵌入式arm程序的方法

qtcreator单步调试嵌入式arm程序的方法前言该方法配置步骤为:(1)安装gdb-multiarch。

(2)在qtcreator中配置gdb-multiarch。

(3)启动板子上的gdbserver。

(4)将qtcreator连接到板子上的gdbserver,启动单步调试。

1.安装gdb-multiarch使用“sudo apt-get install gdb-multiarch”命令安装gdb-multiarch。

安装完如图1所示。

图12.在qtcreator中配置gdb-multiarch在qtcreator中添加gdb-multiarch步骤如下。

在[工具]-[选项]中,在[Debuggers]页面中,添加gdb-multiarch,如图2和图3所示。

图2图3在[构建套件(kit)]页面中,添加gdb-multiarch对应的调试器,如图4所示。

图43.在板子上启动gdbserver将要调试的程序拷贝到板子上,如图5所示。

图5用如下指令,启动gdbserver。

gdbserver 172.24.119.123:8888 /tmp/only_only_test172.24.119.123是虚拟机的IP地址。

8888是选取的一个通信端口。

/tmp/only_only_test是板子上要调试的程序。

如图6所示。

图64.qtcreator连接gdbserver单步调试首先,确保虚拟机与板子能互相ping通,如图7所示。

图7然后,在虚拟机的qtcreator中,用Debug模式编译程序,如图8所示。

图8在虚拟机中的qtcreator中,点击[调试]-[开始调试]-[Attach to Running Debug Server...]。

参考图9进行设置。

图9设置中:✧本地执行档:虚拟机中待调试程序的存在位置。

✧Override server channel: IP地址为板子IP地址,端口号为gdbserver启动时指定的端口号。

Qt移植学习之路 QT4.5.3至mini2440

Qt移植学习之路 QT4.5.3至mini2440

Qt移植学习之路 QT4.5.3至mini2440(1)本文介绍的是Qt移植学习之路QT4.5.3至mini2440,终于成功移植QT 4.5.3至mini2440,并能运行QT自带的应用程序,总得来说还算很顺利,下面是我移植的全部过程。

首先,我交待一下我的开发环境:宿主机:Fedora9主机Gcc:gcc 版本 4.3.0 20080428 (Red Hat 4.3.0-8) (GCC)交叉编译器:arm-linux-gcc-4.3.2 (友善光盘自带)开发板:mini2440(NAND 128M SDRAM 64M)移植步骤:1.准备源码包从ftp:///qt/source/ 下载:qt-embedded-linux-opensource-src-4.5.3.tar.gz和qt-x11-opensource-src-4.5.3.tar.gz前者是移植到开发板上运行的,后者是方便在X86机上开发应用程序,待一切调试成功再经交叉编译后下载到开发板上运行。

从网上下载tslib-1.4.tar.gz包,这包用于管理触摸屏,例如可用于它来校正触摸屏,并保存校正数据。

2.编译安装tslib-1.4把tslib-1.4 COPY到Fedora9的 /opt下,在Fedora9的终端下执行:1.#cd/tmp2.#tarzxvftslib-1.4.tar.gz――――――――(最后在/tmp下解压生成tslib)3.#cdtslib4.#./autogen.sh5.#./configure--prefix=/home/mytslib/--host=arm-linuxac_cv_func_malloc_0_nonnull=yes6.#make7.#makeinstall成功后可在/home下生成mytslib,进入mytslib可以看到有bin include lib etc 四个文件夹。

我们暂时先不理它,在接下来的移植过程中才用到这些文件夹。

qt程序移植到arm开发板

qt程序移植到arm开发板

qt程序移植到arm开发板1、安装交叉编译⼯具链arm-linux-gcc●复制arm-linux-gcc-4.4.3.tar.gz到/home/tools⽂件夹⾥●解压命令tar xvzf arm-linux-gcc-4.4.3.tar.gz -C / (解压⽂件到根⽬录下)注意以上命令必须要有-C⽽且是⼤写,后边有个空格也要注意。

注意查看解压的路径,将解压⽣成的⽂件移动到usr/local/arm⽬录下●vi /etc/profile●在⽂件的末尾加上PATH=/usr/local/arm/4.4.3/bin:$PATH●输⼊命令:source /etc/profile(使刚修改的⽂件⽴即⽣效)●查看arm-linux-gcc版本arm-linux-gcc -v注意:此⽅法只对当前登录⽤户有效,更换⽤户后修改当前登录⽤户/etc/profile即可2、tslib编译与安装tslib是电阻式触摸屏⽤于校准的⼀个软件库,是⼀个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能,通常作为触摸屏驱动的适配层,为上层的应⽤提供了⼀个统⼀的接⼝。

因此这⾥先编译安装tslib,这样在后⾯编译Qt的时候才能打包编译进去。

●需要检查⼀下软件是否安装sudo apt-get install automakesudo apt-get install autogensudo apt-get install autoconf●确定以上⼯具都已经安装后,复制tslib-1.4.tar到/home/tools⽂件夹⾥tar -zxvf tslib-1.4.tar.gzcd tslib./autogen.sh./configure --host=arm-linux ac_cv_func_malloc_0_nonnull=yes --cache-file=arm-linux.cache -prefix=/usr/local/tslibmakemake install-prefix=/usr/local/tslib是指定安装路径,其实包括下⽂的安装配置,路径都可以不指定,默认就是安装到/usr/local/⽬录下若出现错误:configure.ac:25: error: possibly undefined macro: AC_DISABLE_STAT ICIf this token and others are legitimate, please use m4_pattern_al low.See the Autoconf documentation.configure.ac:26: error: possibly undefined macro: AC_ENABLE_SHARE Dconfigure.ac:27: error: possibly undefined macro: AC_LIBTOOL_DLOP ENconfigure.ac:28: error: possibly undefined macro: AC_PROG_LIBTOOL autoreconf: /usr/bin/autoconf failed with exit status: 1解决⽅法:apt-get install libtool3、Qt的交叉编译与安装和PC平台下的编译类似,通过运⾏./configure进⾏配置⽣成makefile⽂件,然后编译安装,只是因为是针对嵌⼊式平台需要进⾏⼀些针对性配置,这⾥⽣成⼀个⾃动配置⽂件,可以通过修改⽂件来⽅便的更改配置。

基于Linux的Qtopia移植在ARM平台上的实现

基于Linux的Qtopia移植在ARM平台上的实现

t o p i a 脚本; 植入根 文件系统中, 以保证在移植完成Q t o p i a 后能够正常 的运 q 4 ) 将触摸屏校 正程序放到根文件系统/ u s r / b i n 目录下; 行。
3 Qt o p i a 手机 平台移植
3 . 1开始移植
由于Q t o p i a 不能在源码 目录下编译 , 在将 Q t o p i a 解压 到 s o u r c e 目录下后 , 要在同目录下再建立 一个t a r g e t 目标文件, 然 后就可 以在该 目录下编译源 码 。 建这个 目录是为了 ̄ H q t o p i a 进 行交 互。 再在虚 拟机下建一个执行 m a k e i n s t a l 1 时的安装 目 录, 也要在根文件系统中创 建这个 目录 , 做为q p e 的启动 目录。
作系统发布不同的版本 , 它们所定义的提供给应用程序 开发人 项 。 如果没有错误 , 就可以执行m a k e 和m a k e i n s t a l l , 这个 时 员的A P I 其实是相 同的, 在应用程序开发人员看来 , 它们不必关
2 小时左 右。 Q t o p i a 会被安装  ̄ U / u s r / l o c a l / q t o p i a 心当前操作系统是哪一种, 只需要调用同一套A P I 来实现它们 的 问比较长 ,

网络 地 带
基于L i n u x 的Qt o p i a 移植在ARM平台上的实现
何琳琳 张 婷 王 阳 ( 1 . 长安大学电 子与控 制工程学院, 陕 西 西安 7 1 0 0 6 4 ; 2 . 深圳市 之辰科技 有限 公司 , 』 东 Nf l 5 l 1 8 0 2 8 )

移植qtopia到ARM开发板

移植qtopia到ARM开发板

内核运行之前运行的一小段程序 ,通过这 小段程序我们可以初始化硬件设备 ,建立 内存 空 间 的映 射 图 ,从 而 将 系统 的软 硬 件 环境带到一个合适 的状态 ,其主要任务是 将内核映像从硬盘读到 A RM中, 然后跳转 在底层摈弃 了 x b 采用 f m b f r( Ⅱ, r euf 帧 到 内核的入 口点去运行 ,即开始启动操作 a e 系统 。在这里所用的 Bo to d r是 U— ola e 缓存 )作为底层图形接 口。 o -1 1 4 同 时 , 将 外 部 输 入 设 备 抽 象 为 bo t . . 。 k y a d和 mo s e bo r u e输入事件 。 QT/ 把U )o— .. . rb2 1 t 1 14 t .z拷到根 目录 o a E e d d 的应用程序可以直接写 内核缓 的¥ C 4 0 解压后生成u b o一1 14 mb d e 3 2 1 中, — o t .. 冲帧 ,这可避免开发者使用繁琐的 Xl / i 目录 ,进入该 目录 ,进行编译 。输入 : b # ma e s k 4 0 c n i k md 2 1 o f g S re 系统 。 ev r 嵌入式软件开发通常都采用交叉编译 # m a c o s C0M PI ke r s — LE=a m - r 的 方式 进 行 , 基于 Q / mb d e ; tpa tE e ddf Q o i l u 一 ( I J i x 由于 已经能够生成路径 , n 如果编译 的 GUI 应用开发也采用这样的模式。先在 不 通 则 输 入 完 整 路 径 :m a k e L u r lc l a m/b n i/ 宿主机上调试应用程序 , 调试通过后 , 经过 j co s COMPI E=/ s / o a/ r r s am—i u ) r l x n 交叉编译移植到 目标 板上 。 Q / mb d e 直接写入帧缓存 , t E e dd 在宿 生 成 U otbn文 件烧 制 到 AR 板 b o .i M 主 机 上 则 是 通 过 q vfb ( rtu a1 . 子 里 。 v i fa b fr rme u e)来模拟帧缓存。q f 是 x窗 J 5 移 植 qo i f vb tpa 口用来运行和测试 Q o i应用程序的系统 tpa 5 I所用 资 源 . 程序。q f 使用 了共享 内存存储区域 ( vb 虚 硬 件 :恒 丰 H FR K2 B ,三 星 4i 0 拟的帧缓存 )来模拟帧缓存并且在一个窗 ¥3 41 ARM 9 0 C2 0 2t QT E e d d / mbd e 通过QtAP I与Ln x iu I O设施直接交互 , / 成为嵌入式 l u 端 口。 i x n 同Q / 比, T/ mb d e 很节省内 t Xl相 1 Q E edd 存, 其不需要 一个X服务器或是 Xi 库 , l b 它

移植Qt5.5到arm开发板(全世界的问题我一个人碰完了)

移植Qt5.5到arm开发板(全世界的问题我一个人碰完了)

移植Qt5.5到arm开发板(全世界的问题我一个人碰完了)展开全文https:///qq_41399894/article/details/8647547 2前面安装Qt的步骤就不说了,下载好一路next就可以了,接下来一、首先要移植Qt必须要用到Qt的源码,在这里也是用Qt5的源码来移植。

源码可以在/archive/qt/下载,选择文件qt-everywhere-opensource-src-5.5.0.tar.gz下载。

2、把下载好的文件放在ubutun的/myTools/Qt/目录下,执行命令 tar zxvf qt-everywhere-opensource-src-5.5.0.tar.gz 来解压,解压完成后就会看到 qt-everywhere-opensource-src-5.5.0 目录。

3、接着就是开始进行编译的工作了。

首先进去目录/myTools/Qt/qt-everywhere-opensource-src-5.5.0/qtbase/mkspecs/linux-arm-gnueabi-g++ ,在这个目录下回看到qmake.conf文件,我们需要修改这个文件。

vim qmake.conf#qmake configuration for building with arm-linux-gnueabi-g++#MAKEFILE_GENERATOR = UNIXCONFIG += incrementalQMAKE_INCREMENTAL_STYLE = sublibQT_QPA_DEFAULT_PLATFORM = linuxQMAKE_CFLAGS_RELEASE += -O2 -march=armv7-a // march是处理器架构,我的是armv7-aQMAKE_CXXFLAGS_RELEASE += -O2 -march=armv7-ainclude(../common/linux.conf)include(../common/gcc-base-unix.conf)include(../common/g++-unix.conf)#modifications to g++.confQMAKE_CC = arm-none-linux-gnueabi-gccQMAKE_CXX = arm-none-linux-gnueabi-g++QMAKE_LINK = arm-none-linux-gnueabi-g++QMAKE_LINK_SHLIB =arm-none-linux-gnueabi-g++# modifications to linux.confQMAKE_AR = arm-none-linux-gnueabi-ar cqsQMAKE_OBJCOPY =arm-none-linux-gnueabi-objcopy QMAKE_NM = arm-none-linux-gnueabi-nm -PQMAKE_STRIP = arm-none-linux-gnueabi-stripload(qt_config)如果这里.对芯片的指令集没有选择好QT_QPA_DEFAULT_PLATFORM = linuxQMAKE_CFLAGS_RELEASE += -O2 -march=armv7-aQMAKE_CXXFLAGS_RELEASE += -O2 -march=armv7-a在开发板运行过程中,运行有提示:Illegal instruction (非法指令)这里要注意,每个人的交叉编译器的前缀都是不一样的,我的就是arm-none-linux-gnueabi-,需要注意还有就是如果你有多个交叉编译器,那么这里你要设置为绝对路径然后去解压目录下,即是/myTools/Qt/qt-everywhere-opensource-src-5.5.0/,每个人存放的目录都不要,这里我是直接运行./configure -prefix /opt/qt-5.5 -release -opensource -xplatform linux-arm-gnueabi-g++ -no-opengl这里你会发现,在运行结束后,会提示你需要你添加一句qreal float的意思,xplatform linux-arm-gnueabi-g++ -no-opengl -qreal float 我加上了之后,重新运行,提示我们make和make install,我make了之后Project ERROR: Unknown module(s) in QT: quickMakefile:47: recipe for target 'sub-textureandlight-make_first' failedmake[4]: *** [sub-textureandlight-make_first] Error 3make[4]: Leaving directory '/home/jay/qt-x11/qtcanvas3d/examples/canvas3d/canvas3d'Makefile:42: recipe for target 'sub-canvas3d-make_first' failedmake[3]: *** [sub-canvas3d-make_first] Error 2make[3]: Leaving directory '/home/jay/qt-x11/qtcanvas3d/examples/canvas3d'Makefile:42: recipe for target 'sub-canvas3d-make_first' failedmake[2]: *** [sub-canvas3d-make_first] Error 2make[2]: Leaving directory '/home/jay/qt-x11/qtcanvas3d/examples'Makefile:69: recipe for target 'sub-examples-make_first' failedmake[1]: *** [sub-examples-make_first] Error 2make[1]: Leaving directory '/home/jay/qt-x11/qtcanvas3d' Makefile:349: recipe for target 'module-qtcanvas3d-make_first' failedmake: *** [module-qtcanvas3d-make_first] Error 2这里的错误现象是百度复制过来的的,因为我编译成功了,不想卸了重装,但是问题大概就是这样,这个解决方法:你可以忽略它所找不到的,在后面加上xplatform linux-arm-gnueabi-g++ -no-opengl -skip qt3d -skip qtcanvas3d -nomake examples -skip qtdeclarative -no-icon 看到这个 -no-iconv,如果没有设置它,当你运行qt程序的时候,会出现QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv_open failedQIconvCodec::convertToUnicode: using Latin-1 for conversion, iconv_open failed所以一定要加上,如果你忘了添加,就(1) 下载链接:/gnu/libiconv/(2) 配置并安装安装./configure --prefix=/home/chy/out --host=arm-none-linux-gnueabi-gccmakemake install(3) 复制preloadable_libiconv.so到开发板的/lib目录,并配置在/etc/profile添加export LD_PRELOAD=/lib/preloadable_libiconv.so先make clean,清除之前生成的,再make,后面会出现就会出现../../include/QtCore/../../src/corelib/tools/qbytearray.h:98:19: note: the mangling of 'va_list' has changed in GCC 4.4 make[3]: *** [.obj/qpdf.o] 错误 1make[3]: *** 正在等待未完成的任务....make[3]:正在离开目录`/myTools/Qt/qt-everywhere-opensource-src-5.5.1/qtbase/src/gui'make[2]: *** [sub-gui-make_first] 错误 2make[2]:正在离开目录`/myTools/Qt/qt-everywhere-opensource-src-5.5.1/qtbase/src'make[1]: *** [sub-src-make_first] 错误 2make[1]:正在离开目录`/myTools/Qt/qt-everywhere-opensource-src-5.5.1/qtbase'make: *** [module-qtbase-make_first] 错误 2这里是因为前面提示我们添加-qreal float,而添加了之后就出现了这个问题相对文件是Qt源代码。

QT交叉编程(基于ARM平台)如何显示中文字体

QT交叉编程(基于ARM平台)如何显示中文字体

QT交叉编程如何显示中文字体很多QT编程爱好者或许都经历过这个烦恼,使用基于虚拟机linux(ubuntu等系统)平台进行QT编程的时候,系统编程显示中文完全没问题,但是当需要移植到基于ARM 平台的开发板或者linux工业平板电脑的时候,使用交叉编译器编译之后的二进制文件下载到下位机,中文不显示,或者乱码。

现在我用自己的Linux工业平板电脑开发做一个简单的显示中文的QT交叉编程案例。

Sam系列工业平板电脑(三青创工Sam-Linux070H)的Linux内核版本是2.6.32;文件系统集成了QT4.7.3,方便用户开发带有界面的应用程序,交叉编译工具是:arm-2009q3.tar.bz2。

注意:QT4.7.3可以通过QT Creator平台直接编程,编译,非常方便。

另外先确定虚拟机ubuntu系统已经安装了交叉编译环境,可以在终端用命令:arm-linux-gcc-v如果显示如下图所示,表明交叉编译器已经安装成功。

打开QT Creator,随便建立一个QT Ui工程,在widget.ui 中随便放入几个label标签,一个显示英文的,1个显示中文的,再加一个Push button,输入“刘德华”中文。

然后再在main.cpp的主程序主函数里面加入设置添加字体库的函数代码如下:OK,然后进行编译器选择,我们选择交叉编译器(基于下位机linux的ARM工业平板电脑),打开Tools->Options…编译完成之后,生成了一个可执行文件hanyu,把这个可执行文件通过ftp指令放到下位机linux工业平板电脑里面去。

下位机默认IP地址为192.168.1.253,用网线连接下位机,通过PC 机ping此板,看是否能ping通,如果可以继续下一步,输入终端命令:ftp192.168.1.253,出现成功如下Name直接输入root即可登录了。

登录之后输入:put hanyu 把文件拷贝进去,再ls查看可以看到已经拷进去了。

Qt-WinCE 在arm平台上搭建及程序自启动

Qt-WinCE 在arm平台上搭建及程序自启动

Qt-WinCE 在armv4i平台上搭建及程序自启动全解编译步骤●Qt 嵌入式环境的搭建的准备1.首先,下载Qt的嵌入式开发包qt-embedded-wince-opensource-src-4.4.0.zip2.然后,下载VS2005和vs补丁VS80sp1-KB926604-X86-CHS.exe。

3.最后,下载一个嵌入式开发的SDK,如STANDARD_SDK.msi(可以根据自己平台的SDk,进行安装,如up_tech.pxa270.sdk.msi 2410mini_SDK.msi)4.还有一个是同步的软件 Microsoft ActiveSync4.5中文简体版,win7貌似需要6.0以上。

5.具体也可以看Qt 文档提供的Qt for Windows CE Requirements●编译安装1.首先安装VS2005,很简单,按照向导来,在自定义安装中务必选择“智能设备开发”。

2.关于Microsoft ActiveSync4.5的安装更是简单。

在此不再多说!3.然后,安装Windows Mobile或是其它版本的SDK,可以用自定义的SDK!简单,这里我们采用up_tech.pxa270.sdk.msi4.接下来的就是qt-embedded-wince的安装。

具体也而已看qt-embedded-wince软件解压后里面的安装文档INSTALL,这里面都集体了介绍安装的步骤,其实很简单的。

5.参照下面的步骤:解压,将解压后的文件夹放到一个不含空格的路径中,如我的:D:\Qt_WinCE即为此文件夹。

Pxa270开发板参照下面的步骤:解压,将解压后的文件夹放到一个不含空格的路径中,如我的:D:\Qt_WinCE,Qt_WinCE即为此文件夹。

在D:\Qt_WinCE\mkspecs ,下面,新建一个文件夹,名字改为wince50pxa270-armv4i-msvc2005将wince50standard-armv4i-msvc2005下面的文件复制到文件夹wince50pxa270-armv4i-msvc2005下,同时修改qmake.conf文件,将CE_SDK = STANDARDSDK_500CE_ARCH = ARMV4I改为CE_SDK = pxa270CE_ARCH = ARMV4I设置环境变量:右键“我的电脑”->“属性”->点“高级”标签->“环境变量”选项set PATH= D:\qt-everywhere-opensource-src-4.6.3\binset QMAKESPEC = win32-msvc2005set QTDIR= D:\qt-everywhere-opensource-src-4.6.3接下来就是开始执行configure 的命令,在“开始”->“程序”->Microsoft visual studio ->Microsoft visual stdio tools->Microsoft visual studio 命令行工作区,进去qt的解压目录D:\Qt_WinCE\。

Qt5 on ARM platforms

Qt5 on ARM platforms

Qt5 on ARM platforms - Introduction Qt5 ARM平台移植#################################################### Introduction:This short post covers the background of Qt5, architectural details, configuring for eglfs with Graphics drivers, building, and known issues. This is to be used for porting Qt5 on ARM based platforms这篇短文的内容涵盖了Qt5的背景,结构以及显卡驱动eglfs的配置,还有编译构建等方面。

这些内容都是移植Qt5到ARM平台所需要的。

##注释:Qt5.0.2以后采用了QPA插件作为跨平台,也就是说新版本中qws已经无效了。

例如执行程序不再是./Hello –qws 而是 ./Hello –platform linuxfbQPA插件将不同硬件平台的图形显示底层抽象化,通常在mac上是cocoa, 在window上是windows, 在linux X11下是xcb, 如果有OPENGL支持, 那么选eglfs.对于无硬件加速的设备, 选择linuxfb, minimal仅仅是让程序跑通, 不起任何作用如图:可在qmake.conf配置文件中用QT_QPA_DEFAULT_PLATFORM指明图形程序实际运行的开发板是无硬件加速linuxfb平台。

1Qt5.2 (standalone) and QtWebEngine(preview) build steps available now at :/node/31########################################################## ######Qt5.2和QtWebEngine的构建步骤在此网站Qt5.2 and QtWebEngine build summary on ARM platformsQt5.2 rc1 can be cross compiled for ARM with OpenGLES2 support, with sgxconfiguro (s:github/prabindh/sgxconfiguro). The steps below outline this method.Qt5.2 rc1进行ARM交叉编译时需要有OpenGLES2的支持2(qt5.2在为ARM配置configure时如果没有加入-opengl es2选项编译,即便configure成功,在make后仍旧会报出缺少quick模块的错误。

编译ARM平台的QtEmbedded的MySQL插件和移植MySQL

编译ARM平台的QtEmbedded的MySQL插件和移植MySQL

编译ARM平台的QtEmbedded 的MySQL插件和移植MySQL到ARM开发板经过几天的努力,终于交叉编译出了arm平台所需Qt/E的MySQL插件(驱动),其中顺便把MySQL也移植到了mini2410的开发板上。

编译器:arm-linux-gcc (4.3.2)Pc平台:red hat由于mysql 本身并不支持交叉编译,所以编译过程相对复杂,且各版本有所不同,本文针对mysql-5.1.32。

1、准备工作首先在/home/bjwlxy目录下解压mysql-5.1.32.tar.gz,得到mysql-5.1.32,进入目录运行如下命令:# ./configure --prefix=/usr/local/mysql# make然后将其改名为mysql-pc 备用。

(注意不要# make install)2、Configure再次解压mysql-5.1.32.tar.gz,得到mysql-5.1.32,进入目录,修改configure文件# vi configure注释以下代码:21948 #if test "$cross_compiling" = yes; then21949 # { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&521950 #$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}21951 #{ { $as_echo "$as_me:$LINENO: error: cannot run test program whilecross compiling21952 #See \`config.log' for more details." >&521953 #$as_echo "$as_me: error: cannot run test program while cross compiling21954 #See \`config.log' for more details." >&2;}21955 # { (exit 1); exit 1; }; }; }21956 #else22025 #fi30317 # if test "$cross_compiling" = yes; then30318 # { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&530319 #$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}30320 #{ { $as_echo "$as_me:$LINENO: error: cannot run test program whilecross compiling30321 #See \`config.log' for more details." >&530322 #$as_echo "$as_me: error: cannot run test program while cross compiling30323 #See \`config.log' for more details." >&2;}30324 # { (exit 1); exit 1; }; }; }30325 #else30408 #fi保存退出。

QT x86和arm平台

QT x86和arm平台

一、Uo arm平台1.设置qt-2.3.2环境变量export QTDIR=/work/qt-2.3.2export PA TH=$QTDIR/bin:$PATHTMAKEDIR=/work/tmake-1.11export TMAKEPATH=/work/tmake-1.11/lib/qws/linux-x86-g++export PA TH=/work/tmake-1.11/bin:$PATHexport LD_LIBRARY_PA TH=$QTDIR/lib:$LD_LIBRARY_PA THexport PATH2.运行designer创建界面文件Form1.ui,保存时文件名建议和Form的名字相同在同一文件夹创建main.cppvi main.cpp#include <qapplication.h>#include "Form1.h"int main( int argc, char ** argv ){QApplication a( argc, argv );Form1 w;w.show();a.connect( &a, SIGNAL( lastWindowClosed() ), &a, SLOT( quit() ) );return a.exec();}3.设置qt-2.3.7环境变量将set-qpe-arm文件复制到/root;set-qpe-arm文件内容:export QTDIR=/work/qt-2.3.7export QPEDIR=/work/qtopia-1.7.0LD_LIBRARY_PA TH=$QTDIR/qt-2.3.7/lib:$QPEDIR/lib:$LD_LIBRARY_PATH TMAKEDIR=/work/tmake-1.11export TMAKEPATH=/work/tmake-1.11/lib/qws/linux-arm-g++export PA TH=/work/tmake-1.11/bin:$PATHexport PA TH=$QTDIR/bin:$PATH运行:cd /root. set-qpe-arm4.生成工程文件先生成.h和.cppuic -o Form1.h Form1.uiuic -o Form1.cpp -impl Form1.h Form1.uiprogen -t app.t -o aaa.pro修改工程文件aaa.pro文件:SOURCES = main.cpp \Form1.cppHEADERS = Form1.hTEMPLATE = appCONFIG = qtopia qt warn_on releaseLANGUAGE = C++5.tmake生成Makefiletmake -o Makefile aaa.pro修改Makefile编译选项,添加支持触屏的库,在LIBS=那一行最后添加-lts6.执行make如果在编译时提示undefined reference to `operator new[](unsigned)'等类似错误,则打开修改tmake.conf修改gedit $TMAKEPATH/tmake.confTMAKE_LINK=arm-linux-gcc改为TMAKE_LINK=arm-linux-g++TMAKE_LINK_SHLIB=arm-linux-gcc改为TMAKE_LINK_SHLIB=arm-linux-g++用file查看生成的可执行文件7.测试程序运行(这一步在开发板上完成)设置运行的环境变量:export QTDIR=/usr/qpeexport QPEDIR=/usr/qpeexport LANG=zh_CNexport LD_LIBRARY_PA TH=/usr/qpe/lib:$LD_LIBRARY_PA THexport QT_TSLIBDIR=/usr/qpe/libexport TSLIB_CONFFILE=/usr/qpe/etc/ts.confexport TSLIB_PLUGINDIR=/usr/qpe/libexport QWS_MOUSE_PROTO=TPanel:/dev/touchscreen/ucb1x00export KDEDIR=/usr/qpe将编译好的ARM格式的应用程序test下载到开发板的/usr/qpe/bin目录下,并利用chmod命令修改aaa的属性[root@bin]$chmod 755 aaa在目标板的/usr/qpe/applications目录下新建一个aaa.desktop文件:[Desktop Entry]Comment=A Qt test ProgramExec=aaaIcon=ClockType=ApplicationName=aaaName[zh_CN]=MyQtAppcd /qpe/bin触屏校准./ts_calibrate在qpe下运行:./qpe &点击qtopia界面上的“MyQtApp”便可运行测试程序。

qt5移植到ARM平台的记录

qt5移植到ARM平台的记录

1.从/downloads下载qt source code, 当前最新版本5.0.0.解压后放到Work/rootfs目录下, 重新命名为qt-<d.d.d>2. 修改qtbase/mkspecs/linux-arm-gnueabi-g++下的qmake.conf里的路径, 并添加:QT_QPA_DEFAULT_PLATFORM = linuxfbQMAKE_CFLAGS_RELEASE += -O2 -march=armv5teQMAKE_CXXFLAGS_RELEASE += -O2 -march=armv5teQT_QPA_DEFAULT_PLATFORM是必须的, 通常在mac上是cocoa, 在window上是windows, 在linux X11下是xcb, 如果有OPENGL 支持, 那么选eglfs.对于无硬件加速的设备, 选择linuxfb, minimal仅仅是让程序跑通, 不起任何作用(看不到界面).QPA是QT platform abstraction的缩写3. 添加编译器路径:export PATH=/opt/arm-<year>.<month>/bin:$PATH4. 查看configure的help./configure-xplatform linux-arm-gnueabi-g++ -help>config.help 不加xplatform选项会找不到make.*表示默认使能, +表示要评估.5. 配置./configure -xplatform linux-arm-gnueabi-g++ \-release \-opensource -confirm-license \-make libs \--prefix $PWD/_install \-no-c++11 (此项不加编译出错:atomic_0.h上)看打印信息是否与设备对应, 不对应的话手动使能/禁止一些设定.设定可以参考上面的help来做改动, 设定改动必须先清除config信息: make confclean6. 编译makemake install7. 路径设置export QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/plugins (对应qtbase/plugins目录)export QT_QPA_PLATFORM=linuxfb:tty=/dev/tty0export QT_QPA_FONTDIR=/usr/lib/fonts移植时写到/etc/profile中去.8. Tslib整合系统没有自动编译tslib, 需要手动产生Makefile:<path>/qtbase/bin/qmake-o Makefile tslib.proMakefile手动添加tslib的路径(也可以在configure时指定, 不过configure太麻烦):-I/home/jie/Work/rootfs/tslib-1.0/_install/include-L/home/jie/Work/rootfs/tslib-1.0/_install/lib (加在"-lts"前)然后编译:makemake install模块放到$QT_QPA_PLATFORM_PLUGIN_PATH/generic下(其他模块也一样, 如imageformats, 也是对应的建立文件夹放文件)程序运行时加上:-plugin tslib:/dev/event0这里tslib是插件的名称, 见QTsLibPlugin::create, generic模块名必须前加libq后加plugin.另外还有一种方法是export插件:export QT_QPA_GENERIC_PLUGINS=tslib:/dev/event0 (用","分隔不同插件)实际应用中, 程序会找不到当前的视窗, 修改fbconvenience下的代码即可.9. Keypad整合把libqevdevkeyboardplugin.so拷到generic下, 运行时带上:-plugin evdevkeyboard:/dev/event1 (假设keypad是event1)执行的应用程序必须activateWindow, 使得keypad focus落在当前应用程序上.10. 运行错误解决iconv_open failed该问题主要是libc里的iconv函数版本有问题, 需要更新, 具体如下下载/gnu/libiconv/libiconv-1.14.tar.gz./configure -prefix=$PWD/_install -host=arm-none-linux-gnueabimakemake install把_install/lib下的preloadable_libiconv.so拷到系统的/usr/lib下, 加上路径:export LD_PRELOAD=/usr/lib/preloadable_libiconv.sosegmant error首先指定platform时要加上tty=..., 见7. 路径设置其次, 程序有个bug, 修改qlinuxfbscreen.cpp:- ioctl(ttyfd, KDGETMODE, &oldMode);+ ioctl(ttyfd, KDGETMODE, oldMode);。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、安装交叉编译工具链arm-linux-gcc●复制arm-linux-gcc-4.4.3.tar.gz到/home/tools文件夹里●解压命令tar xvzf arm-linux-gcc-4.4.3.tar.gz -C / (解压文件到根目录下)注意以上命令必须要有-C而且是大写,后边有个空格也要注意。

注意查看解压的路径,将解压生成的文件移动到usr/local/arm目录下●vi /etc/profile●在文件的末尾加上PATH=/usr/local/arm/4.4.3/bin:$PATH●输入命令:source /etc/profile(使刚修改的文件立即生效)●查看arm-linux-gcc版本arm-linux-gcc -v注意:此方法只对当前登录用户有效,更换用户后修改当前登录用户/etc/profile即可2、tslib编译与安装tslib是电阻式触摸屏用于校准的一个软件库,是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能,通常作为触摸屏驱动的适配层,为上层的应用提供了一个统一的接口。

因此这里先编译安装tslib,这样在后面编译Qt的时候才能打包编译进去。

●需要检查一下软件是否安装sudo apt-get install automakesudo apt-get install autogensudo apt-get install autoconf●确定以上工具都已经安装后,复制tslib-1.4.tar到/home/tools文件夹里tar -zxvf tslib-1.4.tar.gzcd tslib./autogen.sh./configure --host=arm-linux ac_cv_func_malloc_0_nonnull=yes --cache-file=arm-linux.cache -prefix=/usr/local/tslibmakemake install-prefix=/usr/local/tslib是指定安装路径,其实包括下文的安装配置,路径都可以不指定,默认就是安装到/usr/local/目录下若出现错误:configure.ac:25: error: possibly undefined macro: AC_DISABLE_STAT ICIf this token and others are legitimate, please use m4_pattern_al low.See the Autoconf documentation.configure.ac:26: error: possibly undefined macro: AC_ENABLE_SHARE Dconfigure.ac:27: error: possibly undefined macro: AC_LIBTOOL_DLOP ENconfigure.ac:28: error: possibly undefined macro: AC_PROG_LIBTOOL autoreconf: /usr/bin/autoconf failed with exit status: 1解决方法:apt-get install libtool3、Qt的交叉编译与安装和PC平台下的编译类似,通过运行./configure进行配置生成makefile文件,然后编译安装,只是因为是针对嵌入式平台需要进行一些针对性配置,这里生成一个自动配置文件,可以通过修改文件来方便的更改配置。

tar -zxvf tar -zxvf tslib-1.4.tar.gzcd qt-everywhere-opensource-src-4.8.6新建文件autoconfig.sh#!/bin/sh./configure \-opensource \-confirm-license \-release -shared \-embedded arm \-xplatform qws/linux-arm-g++ \-depths 16,18,24 \-fast \-optimized-qmake \-pch \-qt-sql-sqlite \-qt-libjpeg \-qt-zlib \-qt-libpng \-qt-freetype \-little-endian -host-little-endian \-no-qt3support \-no-libtiff -no-libmng \-no-opengl \-no-mmx -no-sse -no-sse2 \-no-3dnow \-no-openssl \-no-webkit \-no-qvfb \-no-phonon \-no-nis \-no-opengl \-no-cups \-no-glib \-no-xcursor -no-xfixes -no-xrandr -no-xrender \-no-separate-debug-info \-nomake examples -nomake tools -nomake docs \-qt-mouse-tslib \-I/usr/local/tslib/include \-L/usr/local/tslib/libexit文件中的内容就是需要配置的内容,同样如果需要指定安装路径可以在开始加入-prefix=/usr/local/(自己的路径)运行./autoconfig.sh 生成makefile文件,生成成功最后会输出如下信息Qt is now configured for building. Just run 'make'.Once everything is built, you must run 'make install'.Qt will be installed into /usr/local/Trolltech/QtEmbedded-4.8.6-armTo reconfigure, run 'make confclean' and 'configure'.●执行make进行编译。

●make install安装,安装完成后可以在安装目录/usr/local/Trolltech/QtEmbedded-4.8.6-arm 下查看对应文件。

4、配置QtCreatorTools→Options设置Compilers,点击Add,添加GCCE(GCC),选择Compiler path为arm-linux-gcc安装目录。

设置Qt Versions,点击Add添加,选择/usr/local/Trolltech/QtEmbedded-4.8.6-arm/bin/qmake设置Kits,点击Add添加,Comliler选择GCCE,Qt version选择Qt4.8.6(QtEmbedded-4.8.6.arm)。

编译时选择刚刚设置的Kit。

注意:判断编译出来的程序是 PC Ubuntu 上运行的脚本还是开发板上的运行脚本。

进入到存放程序应用程序的目录下,执行命令:#file 程序名开发板版本:Helloword: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, not strippedPC Ubuntu 版本:Helloword: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux2.6.24, BuildID[sha1]=0x601ba185ddd61cf5786e9437321bd2242900c3dd, not stripped5、移植qwt用Qt Creator打开qwt-6.1.0工程文件●进入源码目录,编辑qwtconfig.pri文件,找到如下语句,将其屏蔽(加#号):QWT_CONFIG += QwtDesigner●出现如下错误:qwt_symbol.cpp:20:26: fatal error: qsvgrenderer.h:No such file or directory compilation terminated. 则是arm-qt编译的时候没有添加svg的支持,这时要在qwtconfig.pri文件中屏蔽掉如下两句:#QWT_CONFIG += QwtSvg和#QWT_CONFIG += QwtPlayground●出现如下错误:qwt_plot_glcanvas.h:15:17: fatal error: qgl.h: Nosuch file or directory compilation terminated.则是arm-qt没有opengl的支持,需屏蔽qwtconfig.pri中的#QWT_CONFIG += QwtOpenGL 这句话。

●Build→Run qmake(arm版本的)●终端执行make编译完成●终端执行make install 注意install的路径,默认为/usr/local/qwt-6.1.0/,可在qwtconfig.pri中的 QWT_INSTALL_PREFIX修改。

6、运行程序在开发板上运行,需要设置环境变量,可以做一个脚本,脚本内容如下(举例):#!/bin/shbase1=qpepid=`/bin/pidof $base1`if [ -n "$pid" ]; thenkillall $base1fibase2=qsspid=`/bin/pidof $base2`if [ -n "$pid" ]; thenkillall $base2fibase3=quicklauncherpid=`/bin/pidof $base3`if [ -n "$pid" ]; thenkillall $base3fibase4=fluidlauncherpid=`/bin/pidof $base4`if [ -n "$pid" ]; thenkillall $base4fiexport TSLIB_ROOT=/usr/local/tslib#export TSLIB_TSDEVICE=/dev/input/event2export TSLIB_TSEVENTTYPE=H3600export TSLIB_CONFFILE=/usr/local/tslib/etc/ts.confexport TSLIB_PLUGINDIR=/usr/local/tslib/lib/tsexport TSLIB_CALIBFILE=/etc/pointercalexport TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/tsexport TSLIB_CONSOLEDEVICE=noneexport TSLIB_FBDEVICE=/dev/fb0export QTDIR=/opt/qt-4.7.1/exportLD_LIBRARY_PATH=$QTDIR/plugins/qtopialmigrate/:$QTDIR/qt_plugins/ imageformats/:$QTDIR/lib:/root/tslib/build/lib:$LD_LIBRARY_PATH export PATH=/bin:/sbin:/usr/bin/:/usr/sbin:/root/tslib/build/binif [ -c /dev/input/event2 ]; thenif [ -f /proc/driver/ft5x06_ts ]; thenecho "capacitor panel touch..."export QWS_MOUSE_PROTO='Tslib:/dev/input/event3' elseecho "resistance panel touch..."export QWS_MOUSE_PROTO='Tslib:/dev/input/event2' fiif [ ! -e /etc/pointercal ]; then/bin/calibratefiif [ -e /etc/pointercal -a ! -s /etc/pointercal ] ; then rm /etc/pointercal/bin/calibratefielseexport QWS_MOUSE_PROTO="MouseMan:/dev/input/mice">/etc/pointercalfiexport QWS_KEYBOARD=TTY:/dev/tty1FB_SIZE=$(cat /sys/class/graphics/fb0/virtual_size)#export QWS_DISPLAY="LinuxFb:mmWidth76:mmHeight44:1"case "$FB_SIZE" in800,480)export QWS_DISPLAY="LinuxFb:mmWidth91:mmHeight53:1";;480,272)export QWS_DISPLAY="LinuxFb:mmWidth76:mmHeight44:1";;*)export QWS_DISPLAY="LinuxFb:mmWidth91:mmHeight53:1";;esac#export QWS_DISPLAY=:1export HOME=/root/QtE4Homecd /opt/qt-4.7.1/demos/embedded/fluidlauncher#./fluidlauncher -qws/menu/menu –qws最后一行为应用程序及此脚本的路径,将该脚本和应用程序放在同一路径下,执行脚本即可调用应用程序。

相关文档
最新文档