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

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

Qt Embedded基于PC调试嵌入式应用程序(Qt/Embedded的开发公司是)  Embedded 第1张

(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. exportQTDIR=$PWD/qt
  3. exportQPEDIR=$PWD/qtopia
  4. exportTMAKEDIR=$PWD/tmake
  5. exportTMAKEPATH=$TMAKEDIR/lib/qws/linux-generic-g++
  6. exportPATH=$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-tapp.thello.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-ohello.hhello.ui
  3. /armsys2440/qt_x86/qt/bin/uic-ohello.cpp-implhello.hhello.ui

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

d.编写主函数

  1. #include"alcohol.h"
  2. //#include"qwidget.h"
  3. #include<qapplication.h>
  4. intmain(intargc,char**argv)
  5. {
  6. QApplicationa(argc,argv);
  7. Mainmain;
  8. a.setMainWidget(&main);
  9. main.show();
  10. returna.exec();
  11. }

e.编译工程hello.pro文件

hello.pro具体代码为

  1. TEMPLATE=app
  2. CONFIG=qtwarn_onrelease
  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-oMakefilehello.pro

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

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

g.编译链接整个工程

  1. make

h.运行应用程序hello

运行:

  1. cd/armsys2440/qt_x86
  2. exportQTDIR=$PWD/qt
  3. exportQPEDIR=$PWD/qtopia
  4. exportTMAKEDIR=$PWD/tmake
  5. exportTMAKEPATH=$TMAKEDIR/lib/qws/linux-generic-g++
  6. exportPATH=$QTDIR/bin:$QPEDIR/bin:$TMAKEDIR/bin:$PATH
0

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

转载请说明出处
知优网 » Qt Embedded基于PC调试嵌入式应用程序(Qt/Embedded的开发公司是)

发表评论

您需要后才能发表评论