国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Linux操作系統(tǒng)的Qt開發(fā)平臺的搭建

2016-01-02 06:35張明華菏澤學(xué)院物理與電子工程系山東菏澤274000
電子制作 2016年2期
關(guān)鍵詞:圖形用戶界面編譯器菏澤

張明華 菏澤學(xué)院物理與電子工程系 山東菏澤 274000

?

基于Linux操作系統(tǒng)的Qt開發(fā)平臺的搭建

張明華 菏澤學(xué)院物理與電子工程系 山東菏澤 274000

【文章摘要】

隨著嵌入式技術(shù)的高速發(fā)展,為了讓用戶能夠更加直觀方便的使用各種嵌入式系統(tǒng),系統(tǒng)必須提供一種應(yīng)用于特殊場合的人機(jī)交互接口,也就是圖形用戶界面(GUI,Graphics User Interface)。本文介紹了一種跨平臺的圖形用戶界面應(yīng)用程序的開發(fā)?;贏RM硬件平臺與Qt/Embedded,重點(diǎn)闡述了Qt開發(fā)環(huán)境的搭建問題。

【關(guān)鍵詞】

用戶界面;Qt/Embedded;平臺搭建

圖形用戶界面作為人機(jī)交互界面的主流,廣泛應(yīng)用于各種類型計(jì)算機(jī)的系統(tǒng)軟件和應(yīng)用軟件。而嵌入式系統(tǒng)用戶界面和用戶體驗(yàn)已經(jīng)成為決定其能否被用戶接受、市場能否成功的重要因素。

1 Qt/Embedded簡介

Qt由挪威TrollTech公司出品,它是面向嵌入式系統(tǒng)的Qt版本,其類庫完全采用C++封裝,許多基于Qt的X Window程序可以非常方便地移植到Qt/Embedded上,與X11版本的Qt在最大程度上接口兼容。Qt/Embedded可以運(yùn)行在多種不同架構(gòu)處理器所部署的嵌入式Linux系統(tǒng)上,Qt/ Embedded憑借其豐富的控件資源和良好的可移植性,越來越被廣泛地應(yīng)用。

一般來說,Qt/Embedded程序的發(fā)布都是先在裝有Linux操作系統(tǒng)的PC上來完成開發(fā),然后再將其發(fā)布到嵌入式Linux系統(tǒng)下。在一臺裝有Linux操作系統(tǒng)的PC機(jī)上建立Qt/Embedded開發(fā)環(huán)境,大致分為以下幾步:①Q(mào)t Creator集成開發(fā)環(huán)境的搭建;②arm-linux-gcc交叉編譯環(huán)境的搭建;③觸摸屏校準(zhǔn)庫tslib的編譯安裝;④搭建Qt/ Embedded開發(fā)環(huán)境。

2 Qt Creator集成開發(fā)環(huán)境的搭建

(1)安裝gcc/g++編譯器。在Qt Creator安裝過程中,會用到gcc/g++編譯器,因此在安裝Qt Creator之前應(yīng)首先安裝gcc/g++編譯器。

$sudo apt-get install gcc g++

(2)安裝Qt Creator。安裝Qt Creator時(shí),apt-get包管理系統(tǒng)會自動安裝dev-tools、designer、doc、qtconfig、 qdevelop等軟件。

$sudo apt-get install qtcreator

3 arm-linux-gcc交叉編譯環(huán)境的搭建

交叉編譯是指在一個(gè)平臺上生成可以在另一個(gè)平臺上執(zhí)行的代碼。arm-linux-gcc作為基于ARM平臺的編譯器,其編譯出來的程序可以在ARM平臺上直接運(yùn)行,搭建過程如下。

(1)解壓縮arm-linux-gcc-3.4.5.tar. gz。

$tar zxvf arm-linux-gcc-3.4.5.tar.gz

(2)將arm-linux-gcc加入系統(tǒng)命令路徑。編輯“/etc/profile”文件,添加將armlinux-gcc存儲路徑追加賦值給系統(tǒng)環(huán)境變量PATH的命令,實(shí)現(xiàn)開機(jī)自動加載arm-linuxgcc命令的要求。

PATH=$PATH:/usr/arm-linuxgcc/3.4.5/bin

其中,/usr/arm-linux-gcc是交叉編譯器的安裝目錄。另外,如果是需要立即使用此命令,需要在終端內(nèi)執(zhí)行如下命令。

$PATH=/usr/arm-linux-gcc/3.4.5/ bin:$PATH

4 觸摸屏校準(zhǔn)庫tslib的編譯安裝

嵌入式設(shè)備中觸摸屏的使用非常廣泛,但是觸摸屏的坐標(biāo)和顯示屏的坐標(biāo)是不對稱的,需要檢驗(yàn)。這里,本文校驗(yàn)觸摸屏使用的軟件是tslib,它能夠?yàn)橛|摸屏驅(qū)動獲得的采樣提供濾波、去抖和校準(zhǔn)的功能。編譯安裝觸摸屏校準(zhǔn)庫的具體步驟如下。

(1)解壓縮tslib-1.3.tar.bz2。使用tar命令將下載的壓縮文件解壓。

$sudo tar jxvf tslib-1.3.tar.bz2

運(yùn)行tslib-1.3目錄中的autogen.sh文件,已生成configure文件。

$./autogen.sh

操作成功后,將會輸出相應(yīng)的提示信息,可通過ls命令查看目錄下是否生成了configure文件。

(2)制定交叉編譯器及配置安裝信息。tslib編譯安裝之前,需要指定其使用armlinux-gcc交叉編譯器進(jìn)行編譯,此外還需要對tslib安裝進(jìn)行相應(yīng)的配置,并需要檢查當(dāng)前的環(huán)境是否滿足安裝的條件。

$CC=arm-linuc-gcc

$export PLUGIN_DIR=$PWD/plugins

$./configure –host=arm-linux –prefix=$PWD/../tslib –enableinputapi=no

(3)編譯安裝。tslib的編譯安裝步驟遵循常規(guī)軟件的編譯安裝步驟,只須在終端執(zhí)行以下命令。

$sudo make

$sudo make install

5 搭建Qt/Embedded開發(fā)環(huán)境

Qt/Embedded采用編譯安裝的方式,安裝步驟如下。

(1)將qt-embedded-linuxopensource-src-4.5.2.tar.gz解壓縮到/opt目錄下。

(2)運(yùn)行configure程序?qū)Π惭b進(jìn)行相應(yīng)的配置,以及檢查當(dāng)前的環(huán)境是否滿足安裝的條件,該命令的選項(xiàng)較多。

$./configure -release -shared -fast -pch -no-qt3support -qt-sql-sqlite -nolibtiff -no-libmng -qt-libjpeg -qt-zlib -qt-libpng -qt-freetype -xplatform qws/ linux-arm-g++ -embedded arm -depths 4,8,16,32 -little-endian -qt-kbd-usb -noopenssl -nomake examples -nomake demos -nomake tools -optimized-qmake -no-phonon -no-nis -no-opengl -no-cups -no-xcursor -no-xfixes -no-xrandr -noxrender -no-xkb -no-sm -no-xinerama -no-xshape -no-separate-debug-info -noqvfb -qt-gfx-linuxfb -no-gfx-qvfb -nokbd-qvfb -no-mouse-qvfb -no-webkit -confirm-license -qt-mouse-tslib -I/Opt/ Tslib/3.4.5/include -L/Opt/Tslib/3.4.5

(3)在Qt/Embedded安裝配置信息無報(bào)錯(cuò)的情況下,便可繼續(xù)進(jìn)行Qt/Embedded的編譯安裝,其步驟遵循常規(guī)軟件的安裝編譯步驟。

6 結(jié)論

本文闡述了如何利用Qt在Linux操作系統(tǒng)下搭建一個(gè)嵌入式的GUI 開發(fā)平臺。對于嵌入式圖形用戶界面開發(fā)來說,雖然應(yīng)用程序的代碼編寫直接關(guān)系到一個(gè)工程的成功與否,但在編寫代碼之前,開發(fā)環(huán)境的搭建往往更為重要,只有在有了一個(gè)完好的開發(fā)平臺以后,才可以真正開始應(yīng)用程序的開發(fā)。

【參考文獻(xiàn)】

[1]茍軍年.ARM Linux 嵌入式軟件開發(fā)平臺的搭建[J].計(jì)算機(jī)時(shí)代,2010.

[2]林繼民,吳怡,林蕭.基于Linux 嵌入式系統(tǒng)開發(fā)平臺的構(gòu)建及應(yīng)用[J].嵌入式技術(shù),2010.

張明華(1985-),男,山東菏澤人,助教,碩士

【作者簡介】

基金項(xiàng)目:菏澤學(xué)院科學(xué)研究基金(XY14B003).

猜你喜歡
圖形用戶界面編譯器菏澤
鄉(xiāng)村振興的“菏澤路徑”
面向理想性能空間的跨架構(gòu)編譯分析方法
Java圖形用戶界面編程在文本格式化設(shè)置系統(tǒng)中的教學(xué)研究
運(yùn)行速度大突破華為《方舟編譯器》詳解
菏澤牡丹,花開全新產(chǎn)業(yè)鏈——第27屆菏澤牡丹文化旅游節(jié)盛大開幕
淺析我國GUI外觀專利申請現(xiàn)況
城軌綜合監(jiān)控系統(tǒng)用戶界面菜單層級結(jié)構(gòu)設(shè)計(jì)與實(shí)現(xiàn)
優(yōu)化編譯器的設(shè)計(jì)
MiniGUI在基于OMAP5912開發(fā)板上的移植
基于ARM嵌入式平臺的x86譯碼SOC架構(gòu)設(shè)計(jì)
镇雄县| 湘阴县| 绥芬河市| 安阳市| 枞阳县| 剑川县| 佛山市| 芜湖市| 廉江市| 平谷区| 宝坻区| 鄢陵县| 华坪县| 富阳市| 松溪县| 文登市| 新乡县| 防城港市| 刚察县| 隆子县| 大方县| 公安县| 利辛县| 凉山| 麻阳| 丽江市| 江永县| 象山县| 杂多县| 仁怀市| 齐河县| 兰溪市| 错那县| 黎城县| 汉川市| 遵义县| 拜城县| 房产| 金昌市| 原平市| 交城县|