Qt Embedded基于PC调试嵌入式应用程序

移动开发
本文介绍的是关于Qt Embedded基于PC调试嵌入式应用程序,Qt Embedded通过QT API与Linux I/O 以及Framebuffer直接交互,拥有较高的运行效率,而且整体采用面向对象编程,拥有良好地体系架构和编程模式,

Qt Embedded基于PC调试嵌入式应用程序是本文要讲解的内容,Qt Embedded通过QT API与Linux I/O 以及Framebuffer直接交互,拥有较高的运行效率,而且整体采用面向对象编程,拥有良好地体系架构和编程模式,

(1)修改/etc/ld.so.conf文件,增加如下内容:

  1. /armsys2440/qt_x86/qt/lib  
  2. /armsys2440/qt_x86/qtopia/lib  
  3. (qt_x86为qt的安装文件夹) 

输入ldconfig将动态函数库加入到高速缓存。

(2)设置环境变量

  1. cd /armsys2440/qt_x86  
  2. export QTDIR=$PWD/qt  
  3. export QPEDIR=$PWD/qtopia  
  4. export TMAKEDIR=$PWD/tmake  
  5. export TMAKEPATH=$TMAKEDIR/lib/qws/linux-generic-g++  
  6. export PATH=$QTDIR/bin:$QPEDIR/bin:$TMAKEDIR/bin:$PATH 

(3)编写编译应用程序

a.生成工程文件

一个应用通常对应一个工程文件,产生工程文件使用progen命令

progen [可选项] [C/C++ 头文件和源文件]

可选项:

-lower 将文件名小写(在windows下比较有用)

-n name 定义工程名(即目标名)

-o file 定义输出文件

-t file 制定模板文件

使用progen产生一个名为hello的工程文件:

  1. progen -t app.t hello.pro 

注意这个工程文件并不完善,还需要手动添加其他文件。

b.创建一个窗体

  1. cd /armsys2440/qt_x86/qt/bin  
  2. ./designer       启动图形编辑器  

在file->new 新建一个widget的模板后放置几个button进行简单测试先,信号与插槽连接暂不实现

将文件存为hello.ui保存到/armsys2440/qt_x86/hello目录下

c.使用uic工具生成窗体类 的头文件和实现文件

  1. uic在/armsys2440/qt_x86/qt/bin目录下  
  2. /armsys2440/qt_x86/qt/bin/uic -o hello.h hello.ui  
  3. /armsys2440/qt_x86/qt/bin/uic -o hello.cpp -impl hello.h hello.ui 

这样就得到了Hello窗体类的头文件和实现文件。(可以根据要实现的具体功能在hello.cpp添加相应代码)

d.编写主函数

  1.  #include "alcohol.h"  
  2.  //#include "qwidget.h"  
  3.  #include <qapplication.h> 
  4.  int main(int argc,char **argv)  
  5. {  
  6.   QApplication a(argc,argv);  
  7.   Main main;  
  8.   a.setMainWidget(&main);  
  9.   main.show();  
  10.   return a.exec();  

e.编译工程hello.pro文件

hello.pro具体代码为

  1. TEMPLATE = app 
  2. CONFIG   = qt warn_on release  
  3. HEADERS =hello.h  
  4. SOURCES =hello.cpp \  
  5.                    main.cpp  
  6. NTERFACES=  

一定要将INTERFACES= hello.ui 修改为:INTERFACES=

否则会报错:重定义

f.生成makefile文件

(1)编译器是根据Makefile文件内容来进行编译的,所以需要生成Makefile文件。

Qt提供的tmake工具可以帮助我们从一个工程文件(. pro文件)中产生Makefile文件。结合当前例子,要从hello. pro生成一个Makefile文件的做法是:

首先查看环境变量$TMAKEPATH是否指向PC编译器的配置目录,在命令行下输入以下命令

  1. #echo $TMAKEPATH 

如果返回的结果的末尾不是... /qws/linux-generic-g++的字符串,那您需要把环境变量$TMAKEPATH所指的目录设置为指向PC编译器的配置目录。

(2)使用tmake生成Makefile文件:

修改tmake/lib/qws/linux-generic-g++/tmake.conf

将TMAKE_LINK = gcc 和TMAKE_LINK_SHLIB = gcc

分别修改成

  1. TMAKE_LINK = g++和TMAKE_LINK_SHLIB = g++  
  2. --#tmake -o Makefile hello.pro 

(iii)对Makefile做修改,如下:

对于设置LIBS=$(SUBLIBS) -L$(QTDIR)/lib -lm -lqte        注意一定要加上: -lm

g.编译链接整个工程

  1. make 

h.运行应用程序hello

  运行:

  1. #qvfb &            (后台运行qvfb)  
  2. #/armsys2440/qt_x86/hello –qws 

小结:Qt Embedded基于PC调试嵌入式应用程序的内容介绍完了,希望本文对你有所帮助吧。

责任编辑:zhaolei 来源: 互联网
相关推荐

2011-06-17 08:59:27

QT Embedded Arm

2009-06-26 16:18:40

Windows Emb

2011-06-21 11:30:31

嵌入式 Qt

2021-07-30 08:00:00

数据分析IT技术

2011-08-29 10:59:47

QtWebkit嵌入式

2011-07-05 15:42:02

QT 嵌入式 Embedded

2011-12-12 19:42:54

微软

2010-03-02 14:09:15

Windows Emb

2011-06-29 18:17:20

Konqueror Embedded 浏览器

2021-08-31 11:06:28

嵌入式数据库MySQL

2011-07-05 15:59:18

Qt 嵌入式 linux

2011-06-13 14:00:55

Qt Designer linux

2010-05-14 10:29:25

Windows Emb

2012-02-15 13:26:56

IndexedDB

2014-05-26 15:14:04

DIGIA嵌入式Qt

2011-06-09 10:28:54

QT 嵌入式

2011-06-09 09:12:12

QT symbian

2018-05-02 16:34:56

EAF嵌入式框架

2019-04-10 11:50:00

微软Windows XPWindows 10

2011-09-06 11:25:08

点赞
收藏

51CTO技术栈公众号