色yeye在线视频观看_亚洲人亚洲精品成人网站_一级毛片免费播放_91精品一区二区中文字幕_一区二区三区日本视频_成人性生交大免费看

當前位置: > 華清遠見教育科技集團 > 嵌入式學習 > 講師博文 > FS210開發板上Qt4.7.0移植過程
FS210開發板上Qt4.7.0移植過程
時間:2016-12-14作者:華清遠見

1. 搭建Qt開發環境平臺

1、開發環境:ubuntu 12.04
        2、交叉編譯鏈:arm-cortex_a8-linux-gnueabi
        3、開發板:FS210

2. Qt移植所需的工具

首先,我們可以從官網下載Qt源碼,
  &nbnbsp;     1) qt-everywhere-opensource-src-4.7.0.tar.gz  QT的源碼包(庫)
        2) qt-sdk-linux-x86-opensource-2010.05.bin   QT-IDE開發軟件
        3) tslib-1.4.tar.gz               QT觸摸校驗程序

這里我們項目文檔中已經給出三個源碼。源碼位置:該光盤下:\移植相關\QT相關\。

下面介紹一下三個源碼的用途:
        1) qt-everywhere-opensource-src-4.6.3.tar.gz為Qt的源碼包,用來編譯各種Qt的庫等,這里需要編譯三次,分別為x11版本,embedded版本和arm版本(需要應用到不同的平臺上);
        a. 編譯x11版只是為了得到qvfb工具,至于qvfb的用途后面自會說明;
        b. embedded版本為Qt 的嵌入式版本,將來和qvfb配合使用;
        c. arm版本很好理解,即要放到開發板上的東西。
        2) qt-sdk-linux-x86-opensource-2010.04.bin是開發qt的IDE,這里我用的是linux版本,用它來開發自己的Qt應用。
        3) tslib-1.4.tar.gz為觸摸屏校正程序,編譯qt的arm版本的時候需要tslib的庫,tslib編譯后會生成觸摸屏校正程序(t”s_calibrate),用來給開發板的觸摸屏進行校正。

3. tslib的移植

1) 拷貝“該光盤下:\移植相關\QT相關\”目錄下的tslib-1.4.tar.gz到linux系統。
        2)解壓源碼:
                $ tar -zxvf tslib-1.4.tar.gz
                $ cd tslib-1.4
        3)執行autogen.sh腳本生產configure文件

這一步需要安裝一些工具,如:在ubuntu系統下可以執行:
        $ sudo apt-get install autotools-dev
        $ ./autogen.sh

如果出現以下錯誤:則處理如下
        ./autogen.sh: 4: autoreconf: not found
        是在不同版本的 tslib 下執行 autogen.sh 產生。它們產生的原因一樣,是
        因為沒有安裝automake 工具,(ubuntu 10.04)用下面的命令安裝好就可以了。

$ sudo apt-get install autoconf automake libtool

4) 執行confugure生成Makefile文件
        a. $ echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache
        b. $ vi tslib-1.4/plugins/input-raw.c

注釋掉 static int check_fd函數中的部分代碼,如下所示。

c. $./configure --host=arm-cortex_a8-linux-gnueabi --prefix=/home/linux/tslib --cache-file=arm-linux.cache

說明:

--host :是指你的交叉編譯器的前綴;例如:

你的交叉編譯器是arm-linux-gcc,則--host=arm-linux。
        如果是arm-none-linux-gnueabi-gcc,則--host=arm-none-linux-gnueabi。

--prefix :是你執行make install 的時候編譯后生成的可執行文件和庫文件以及配置文所安裝的目錄,這個目錄不能和tslib源碼目錄相同;

--enable-inputapi=no :看你的觸摸屏驅動是否支持ioctl操作,如果支持就不用寫上,不支持就要添上,如果不添加會有ts_open:Inappropriate ioctol for device configure文件下還有很多選項,你可以執行./configure --help 來進行選擇其他項,不過在這里這些選項就夠了。

5) 編譯安裝
        $ 修改tests/ts_calibrate.c 修改226行和229行,加上0666

$ make
        $ make install

6) 把指定安裝目錄下的tslib的文件都拷貝到你所掛載的根文件系統下
        $ cp -a /home/linux/tslib /source/rootfs

7) 修改/source/rootfs/tslib下的etc目錄中ts.conf文件

#vim ts.conf
        將第二行的#module_raw input修改成module_raw input
        注意一定要頂格寫,否則程序執行時會發生讀取ts.conf錯誤
        每次重編譯tslib并安裝后,都要重新修改/etc/ts.conf.

8)導出環境變量
        在/source/rootfs/etc/profile中添加如下代碼:

export TSLIB_TSDEVICE=/dev/event4
        export TSLIB_FBDEVICE=/dev/fb0
        export TSLIB_PLUGINDIR=/tslib/lib/ts
        export TSLIB_CALIBFILE=/etc/pointercal
        export TSLIB_CONFFILE=/tslib/etc/ts.conf

        export set HOME=/root
        export set QPEDIR=/qt-everywhere
        export set QTDIR=/qt-everywhere
        export set LD_LIBRARY_PATH=/qt-everywhere/lib:/tslib/lib:$LD_LIBRARY_PATH

        export QWS_DISPLAY="LinuxFb:mmWidth100:mmHeight130:0"
        export TSLIB_TSEVENTTYPE=H3600
        export set QT_QWS_FONTDIR=/qt-everywhere/lib/fonts/
        export set PLUGIN_PATH=$QTDIR/plugins
        export set PATH=$QPEDIR/bin:$PATH

        export PATH LD_LIBRARY_PATH
        export TSLIB_ROOT=/tslib
        export QWS_SIZE=800x480

說明:
        TSLIB_TSDEVICE //觸摸屏設備文件名。
        TSLIB_CALIBFILE //校準的數據文件,由ts_calibrate校準程序生成。
        SLIB_CONFFILE //配置文件名。
        TSLIB_PLUGINDIR //插件目錄
        TSLIB_CONSOLEDEVICE //控制臺設備文件名
        TSLIB_FBDEVICE //設備名

以上環境變量在實際開發中的實際配置可以根據實際情況決定。而這些指定的設備節點一定要和你的開發板上的/dev目錄下的設備節點相對應。在以往項目中設備文件名有可能是/dev/event4

9)插上屏后,在開發板上運行/tslib/bin下的測試程序。

把交叉工具鏈中的庫拷貝到/source/rootfs/lib下面
        $ cp /home/linux/toolchain/arm-cortex_a8-linux-gnueabi/lib/* /source/rootfs/lib
        開發板上執行:# /tslib/bin/ts_calibrate

4. 移植QT lib <4.7.0 for arm>

該光盤下:\移植相關\QT相關\文件夾下的qt-everywhere-opensource-src-4.7.0-beta2.tar拷貝到linux環境下。不能/mnt/hgfs/掛載目錄下執行。因為此文件里面有ln 連接文件。Window和linux的磁盤不一樣,不支持ln。

1) 解壓源碼
        $ tar xvf qt-everywhere-opensource-src-4.7.0-beta2.zip

2) 改配置文件,指明交叉編譯工具鏈
        $ cd qt-everywhere-opensource-src-4.7.0-beta2
        $ vi mkspecs/qws/linux-arm-gnueabi-g++/qmake.conf

3) 配置
        $ ./configure -prefix /qt-everywhere -embedded arm -release -opensource -fast -no-accessibility -no-scripttools -no-mmx -no-multimedia -no-svg -no-webkit -no-3dnow -no-sse -no-sse2 -silent -qt-libpng -qt-libjpeg -no-libtiff -make libs -nomake tools -nomake examples -nomake docs -nomake demo -no-nis -no-cups -no-iconv -no-dbus -no-openssl -xplatform qws/linux-arm-gnueabi-g++ -little-endian -qt-freetype -depths 4,8,12,16,24,32 -qt-gfx-linuxfb -no-gfx-transformed -no-gfx-multiscreen -no-gfx-vnc -no-gfx-qvfb -qt-kbd-linuxinput -no-glib -qt-mouse-tslib -I/home/linux/tslib/include -L/home/linux/tslib/lib
        備注:紅色的為連接TSLIB庫的路徑,一定要正確。

4) 編譯并安裝
        $ make
        $ sudo make install

5) 把prefix制定的安裝目錄全部拷貝到開發板上
        $ cp -a /qt-everywhere /source/rootfs

5、在板子下配置環境變量:(該步驟已做)

1) 修改/source/rootfs/etc/profile添加如下內容:
        export LD_LIBRARY_PATH=/qt-everywhere-/lib:$LD_LIBRARY_PATH
        export QWS_SW_CURSOR
        export QT_QWS_FONTDIR=/qt-everywhere/lib/fonts

(// fonts目錄下放字體集,使qt支持中文。(刪除其他字體,只留以下三個)

wenquanyi_130_75.qpf wenquanyi_150_50.qpf wenquanyi_150_75.qpf)
        export set HOME=/root
        export set QPEDIR=/qt-everywhere

發表評論
評論列表(網友評論僅供網友表達個人看法,并不表明本站同意其觀點或證實其描述)
主站蜘蛛池模板: 欧美性猛交╳xx╳动态图 | 伦理一级大尺度 | 亚洲精品不卡无码福利在线观看 | 欧美一区在线观看视频 | 八戒理论片午影院无码爱恋 | 国产精品久久..4399 | 7777奇米成人四色眼影 | 天天干天天射天天操 | 久久国产AV无码一区二区老太 | 国产伦精品一区二区三区照片 | 在线观看国产日韩亚洲中 | 夜夜夜高潮夜夜爽夜夜爰爰 | 国产精品久久久久成人 | 国产黄网免费视频在线观看 | 色天使亚洲综合一区二区 | 亚洲欧美日韩精品成人 | 国产又粗又猛又爽又黄的视频在线观看动漫 | 久久综合婷婷丁香五月中文字幕 | 国产成人精品日本亚洲语音 | 久久狠狠色噜噜狠狠狠狠97 | 成人午夜爽爽爽免费视频 | 日韩av无码一区二区三区不卡毛片 | 欧美黑人巨大精品VIDEOS | 超级乱婬av片 | 国产精品人成在线观看 | 八戒理论片午影院无码爱恋 | 国语对白爽死我了 | 国产真实野战在线视频 | 欧洲乱码伦视频免费 | 免费午夜无码视频在线观看 | 四虎影库永久在线 | 综合久久久久综合 | 无套内谢孕妇毛片免费看看 | 黑人巨大无码中文字幕无码 | 一二三四在线观看免费视频 | 在线免费观看麻豆视频 | 丰满少妇高潮惨叫正在播放 | 亚洲日韩中文在线精品第一 | 少妇下面好紧好爽视频 | 麻豆亚洲AV熟女国产一区二 | 青青草国产免费国产是公开 |