亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

QT 4.5.2 嵌入式開發(fā)平臺(tái)的搭建

系統(tǒng) 2365 0
QT 4.5.2 嵌入式開發(fā)平臺(tái)的搭建
系統(tǒng)環(huán)境:ubuntu 9.04
編譯環(huán)境:crosstool 0.43 安裝后生成4.1版本的arm-linux-GCC
在配置之前,sudo apt-get install build-essential 來安裝基本的開發(fā)環(huán)境

Qtx11(源碼安裝) 安裝準(zhǔn)備
建議直接下二進(jìn)制程序安裝。
1.安裝依賴的庫,你也可以不轉(zhuǎn),再安裝出錯(cuò)的時(shí)候補(bǔ)上。
sudo apt-get install libxrender-dev libxrandr-dev libxcursor-dev libxinerama-dev libxi-dev libxt-dev libglib2.0-dev -libxtst-dev
這個(gè)是我剛裝完系統(tǒng)后根據(jù)QTx11編譯錯(cuò)誤一個(gè)一個(gè)跟蹤出來的,并不能保證是所有的安裝依賴。

2.然后進(jìn)入源代碼頂層目錄輸入
./configure -qt-sql-sqlite -plugin-sql-sqlite -nomake demos -nomake examples -silent
其中的編譯參數(shù)可以自己根據(jù)./configure -help里面的提示篩選。

Qt-embedded 安裝準(zhǔn)備
1.如果你的交叉工具組都是以arm-linux-開頭的則直接進(jìn)行下面的步驟就行了,否則要有兩個(gè)方法,一就是給你的工具組做軟連接,然他們的前綴為 arm-linux-。推薦用這辦法。二是打開Qt-embedded的源碼目錄,修改 mkspecs/qws/linux-arm-g++/qmake.conf,將里面的arm-linux-改成你交叉編譯工具的前綴。
2.
打開qt-embedded-linux-opensourcesrc4.5.2/src/gui/embedded/qmouselinuxtp_qws.h
在里添加如下兩個(gè)宏定義,其原因不知道,還望高人指教,這是在網(wǎng)上搜集資料是看到的,我試過不添加,則下面提供的配置選項(xiàng)生成的Qt-embedded庫編譯出來的程序不能使用觸摸屏。如果有人使用tslib觸摸屏驅(qū)動(dòng)成功移植的,也請(qǐng)分享一下。
#define QT_QWS_IPAQ
#define QT_QWS_IPAQ_RAW

3.進(jìn)入源代碼頂層目錄輸入:
./configure -embedded arm -little-endian -qt-sql-sqlite -plugin-sql-sqlite -no-scripttools -no-nis -no-largefile -no-libmng -no-accessibility -depths 16 -nomake docs -nomake demos -nomake examples -qt-zlib -feature-THREAD -feature-CONCURRENT -feature-SOUND -feature-EFFECTS -no-feature-CURSOR -silent

同理,上面的配置參數(shù)可以根據(jù)嵌入式應(yīng)用的需要,進(jìn)行裁剪,把不需要的東西都去掉,這對(duì)嵌入式應(yīng)用來說是非常重要的,不僅可以節(jié)省空間也提高效率。

Qt Creator 安裝
Qt Creator 是一款輕量級(jí)的IDE,我用它的目的就是為了方便QT程序的交叉編譯。
1.如果Qtx11是從源碼安裝的,則不帶Qt Creator,這時(shí)可以去官方網(wǎng)站下載二進(jìn)制程序安裝。安裝好后,打開Qt Creator->Tools->options 然后在左邊的導(dǎo)航欄展開Qt4,選Qt Versions。點(diǎn)擊右上的加號(hào)圖標(biāo),在version name里可以隨便填,主要用來區(qū)分X86 和 arm 等Qt庫的版本,在路徑選到之前安裝QTx11 庫的路徑,默認(rèn)安裝是在 /usr/local/Trolltech/QtEmbedded-4.5.2,然后點(diǎn)擊rebuild,如果看到打?qū)矗瑒t一切正常。同理,可以在添加 上QtE-arm的庫。
2.現(xiàn)在可以建立一個(gè)項(xiàng)目來玩玩,也可找到Qt-embedded的源碼包,里面有一個(gè)觸摸屏校正程序,在example\qws \mousecalibration,這個(gè)程序是嵌入式設(shè)備必須的,不然觸摸屏是不能使用的。用Qt Creator打開其中的mousecalibration.pro文件。在Qt Creator左邊,點(diǎn)擊Projects。在Build Settings 勾上Release,Qt Version 選 之前你為QTE-arm庫起的名字,然后build就生成適合開發(fā)板運(yùn)行的QT程序了。

配置環(huán)境變量,方便用別的IDE和命令行調(diào)用qmake moc 等程序
用編輯器打開~/.profile文件添加如下,保存注銷就生效。
# set PATH so it includes Qt4.5.2 X11 bin if it exists
if [ -d "/usr/local/Trolltech/Qt-4.5.2/bin" ] ; then
PATH="/usr/local/Trolltech/Qt-4.5.2/bin:$PATH"
fi

Qt文件系統(tǒng)的配置
準(zhǔn)備
1.在根文件系統(tǒng)里建立/opt/qt/bin lib plugins 三個(gè)文件夾
2.把/usr/local/Trolltech/QtEmbedded-4.5.2-arm/lib(即Qt-embedde庫的安裝目錄)中的 libQtCore.so.4.5.2 libQtGui.so.4.5.2 libQtNetwork.so.4.5.2 放到開發(fā)板根文件系統(tǒng)的/opt/qt/lib里,并且做三個(gè)軟鏈接分別為libQtCore.so.4 libQtGui.so.4 libQtNetwork.so.4
3.接著再把/usr/local/Trolltech/QtEmbedded-4.5.2-arm/lib/fonts/ 中帶Vera和fixed的文件拷貝到根文件系統(tǒng)的/opt/qt/lib/fonts/
4.再要把/usr/local/Trolltech/QtEmbedded-4.5.2-arm/plugins/imageformats 里的文件拷貝到根文件系統(tǒng)的/opt/qt/plugins/imageformats 里。
5.到現(xiàn)在基本的Qt庫就已經(jīng)移植好了。在移植應(yīng)用程序的時(shí)候,可以用如下命令查看需要那些共享庫:
arm-linux-readelf -a 程序名 | grep "Share",其中arm-linux-可該成你交叉編譯工具的前綴

配置根文件系統(tǒng)
一般首先要做的就是將一個(gè)觸摸屏校正程序放到文件系統(tǒng)的bin里(其實(shí)放那里都一樣)。然后寫一個(gè)腳本程序,讓系統(tǒng)開機(jī)時(shí)調(diào)用,我的腳本程序initqt如下(別忘了給它添加可執(zhí)行權(quán)限):
#!/bin/sh
export HOME=/root
export QTDIR=/opt/qt
#用來選擇LinuxTP鼠標(biāo)驅(qū)動(dòng)
export set QWS_MOUSE_PROTO="LinuxTP:/dev/h3600_tsraw"
export QWS_DISPLAY="LinuxFB:/dev/fb0"
#用來調(diào)整字體顯示的比例,里面的數(shù)值可以自己換一下看看效果
export QWS_DISPLAY="LinuxFB:mmWidth130:mmHeight100:0"
export QWS_SIZE="320x240"
export QT_PLUGIN_PATH=$QTDIR/plugins/
#字體目錄
export QT_QWS_FONTDIR=$QTDIR/lib/fonts
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$QTDIR/plugins/imageformats:$LD_LIBRARY_PATH
#判斷是否已經(jīng)校正過屏幕了
if [ -s "etc/pointercal" ] ; then
else
/bin/mousecalibration
fi

再配置一下/etc/profile文件,讓一下環(huán)境變量登錄就有效,以下是我的配置:
# Ash profile
# vim: syntax=sh
# No core files by default
#ulimit -S -c 0 > /dev/null 2>&1
USER="`id -un`"
LOGNAME=$USER
PS1='[\u@\h \W]# '
PATH=$PATH
HOSTNAME=`/bin/hostname`
export USER LOGNAME PS1 PATH
export HOME=/root
export QTDIR=/opt/qt
export set QWS_MOUSE_PROTO="LinuxTP:/dev/h3600_tsraw"
export QWS_DISPLAY="LinuxFB:/dev/fb0"
export QWS_DISPLAY="LinuxFB:mmWidth130:mmHeight100:0"
export QWS_SIZE="320x240"
export QT_PLUGIN_PATH=$QTDIR/plugins/
export QT_QWS_FONTDIR=$QTDIR/lib/fonts
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$QTDIR/plugins/imageformats:$LD_LIBRARY_PATH

最后在根文件系統(tǒng)的/etc/init.d/rcS 中的適當(dāng)位置,加上/bin/initqt &

QT 4.5.2 嵌入式開發(fā)平臺(tái)的搭建


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 久久精品影院一区二区三区 | 国产瑟瑟 | 天天干夜夜艹 | 狠狠色婷婷综合天天久久丁香 | 欧美成年黄网站色高清视频 | 日本午夜免费理论片 | 99视频全部看免费观 | 欧美第一区 | 337p欧洲亚洲大胆艺术 | 一级一级女人18毛片 | 九九精品视频在线播放8 | 亚洲日日干 | 国产精品永久免费视频观看 | 手机看片99 | 亚洲欧美视屏 | 狠狠狠狼鲁欧美综合网免费 | 国产精品免费入口视频 | 日本免费一二三区 | 免费视频亚洲 | 毛片线看免费观看 | 久久国产精品一国产精品 | 天天夜夜骑 | 亚洲视频福利 | 久久这里只有精品久久 | 九九在线观看免费视频 | 成人午夜亚洲影视在线观看 | 国产精品免费视频一区 | 日韩国产欧美视频 | 久久青草国产精品一区 | 91青草久久久久久清纯 | 欧美 亚洲 另类 热图 | 99热精品成人免费观看 | 成年人性生活免费视频 | 日本一级毛片视频在线看 | 99热在线观看精品 | 在线观看亚洲网站 | 色成人综合| 大乳女做爰中文字幕 | 日韩欧美视频 | 国产精品久久久久久久久久免费 | 免费在线亚洲 |