Qt Embedded基于PC調(diào)試嵌入式應(yīng)用程序
Qt Embedded基于PC調(diào)試嵌入式應(yīng)用程序是本文要講解的內(nèi)容,Qt Embedded通過QT API與Linux I/O 以及Framebuffer直接交互,擁有較高的運行效率,而且整體采用面向?qū)ο缶幊?,擁有良好地體系架構(gòu)和編程模式,
(1)修改/etc/ld.so.conf文件,增加如下內(nèi)容:
- /armsys2440/qt_x86/qt/lib
- /armsys2440/qt_x86/qtopia/lib
- (qt_x86為qt的安裝文件夾)
輸入ldconfig將動態(tài)函數(shù)庫加入到高速緩存。
(2)設(shè)置環(huán)境變量
- cd /armsys2440/qt_x86
- export QTDIR=$PWD/qt
- export QPEDIR=$PWD/qtopia
- export TMAKEDIR=$PWD/tmake
- export TMAKEPATH=$TMAKEDIR/lib/qws/linux-generic-g++
- export PATH=$QTDIR/bin:$QPEDIR/bin:$TMAKEDIR/bin:$PATH
(3)編寫編譯應(yīng)用程序
a.生成工程文件
一個應(yīng)用通常對應(yīng)一個工程文件,產(chǎn)生工程文件使用progen命令
progen [可選項] [C/C++ 頭文件和源文件]
可選項:
-lower 將文件名小寫(在windows下比較有用)
-n name 定義工程名(即目標(biāo)名)
-o file 定義輸出文件
-t file 制定模板文件
使用progen產(chǎn)生一個名為hello的工程文件:
- progen -t app.t hello.pro
注意這個工程文件并不完善,還需要手動添加其他文件。
b.創(chuàng)建一個窗體
- cd /armsys2440/qt_x86/qt/bin
- ./designer 啟動圖形編輯器
在file->new 新建一個widget的模板后放置幾個button進(jìn)行簡單測試先,信號與插槽連接暫不實現(xiàn)
將文件存為hello.ui保存到/armsys2440/qt_x86/hello目錄下
c.使用uic工具生成窗體類 的頭文件和實現(xiàn)文件
- uic在/armsys2440/qt_x86/qt/bin目錄下
- /armsys2440/qt_x86/qt/bin/uic -o hello.h hello.ui
- /armsys2440/qt_x86/qt/bin/uic -o hello.cpp -impl hello.h hello.ui
這樣就得到了Hello窗體類的頭文件和實現(xiàn)文件。(可以根據(jù)要實現(xiàn)的具體功能在hello.cpp添加相應(yīng)代碼)
d.編寫主函數(shù)
- #include "alcohol.h"
- //#include "qwidget.h"
- #include <qapplication.h>
- int main(int argc,char **argv)
- {
- QApplication a(argc,argv);
- Main main;
- a.setMainWidget(&main);
- main.show();
- return a.exec();
- }
e.編譯工程hello.pro文件
hello.pro具體代碼為
- TEMPLATE = app
- CONFIG = qt warn_on release
- HEADERS =hello.h
- SOURCES =hello.cpp \
- main.cpp
- NTERFACES=
一定要將INTERFACES= hello.ui 修改為:INTERFACES=
否則會報錯:重定義
f.生成makefile文件
(1)編譯器是根據(jù)Makefile文件內(nèi)容來進(jìn)行編譯的,所以需要生成Makefile文件。
Qt提供的tmake工具可以幫助我們從一個工程文件(. pro文件)中產(chǎn)生Makefile文件。結(jié)合當(dāng)前例子,要從hello. pro生成一個Makefile文件的做法是:
首先查看環(huán)境變量$TMAKEPATH是否指向PC編譯器的配置目錄,在命令行下輸入以下命令
- #echo $TMAKEPATH
如果返回的結(jié)果的末尾不是... /qws/linux-generic-g++的字符串,那您需要把環(huán)境變量$TMAKEPATH所指的目錄設(shè)置為指向PC編譯器的配置目錄。
(2)使用tmake生成Makefile文件:
修改tmake/lib/qws/linux-generic-g++/tmake.conf
將TMAKE_LINK = gcc 和TMAKE_LINK_SHLIB = gcc
分別修改成
- TMAKE_LINK = g++和TMAKE_LINK_SHLIB = g++
- --#tmake -o Makefile hello.pro
(iii)對Makefile做修改,如下:
對于設(shè)置LIBS=$(SUBLIBS) -L$(QTDIR)/lib -lm -lqte 注意一定要加上: -lm
g.編譯鏈接整個工程
- make
h.運行應(yīng)用程序hello
運行:
- #qvfb & (后臺運行qvfb)
- #/armsys2440/qt_x86/hello –qws
小結(jié):Qt Embedded基于PC調(diào)試嵌入式應(yīng)用程序的內(nèi)容介紹完了,希望本文對你有所幫助吧。