中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

樹(shù)莓派如何實(shí)現(xiàn)Qt5交叉編譯移植

這篇文章主要介紹了樹(shù)莓派如何實(shí)現(xiàn)Qt5交叉編譯移植,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

成都創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括定西網(wǎng)站建設(shè)、定西網(wǎng)站制作、定西網(wǎng)頁(yè)制作以及定西網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,定西網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到定西省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

Raspberry Pi (BCM2835): Device Information

ArchitectureARMv6
CPUARM11
RAM256MB OR 512MB since October 2012 (shared with GPU)
GPUVideoCore IV
OpenGLOpenGL ES 2.0
MultimediaOpenMax IL 1.1.2
Qt 5.0 (eglfs/QPA)Supported, with OpenGL ES 2.0

Qt 5 port functional state (against Raspbian Wheezy (primary reference platform))

FeatureStateAdditional info
Hardware accelerated cursorDoneupstream
Wayland supportDoneupstream
Hardware decoding of imagesTo Do
Scenegraph tailoringTo Do
HardFP supportDoneRequires v8 patch
Qt MultimediaDoneRequires gst-omx
Webkit integrationTo Dowebgl, tex mapper
  • 開(kāi)始

    首先我們先創(chuàng)建一個(gè)目錄來(lái)存放Qt5的源代碼以及交叉編譯所需要的所有文件,我選擇在當(dāng)前用戶家目錄下創(chuàng)建一個(gè)叫做“opt”的目錄。

    1diveinedu@debian :~$ mkdir  ~/opt
    2diveinedu@debian :~$ cd  ~/opt

    然后,下載以下文件:

    下載Raspbian Wheezy 鏡像  (這里下載 [raspberrypi.org]):

    1diveinedu@debian :~/opt$ wget  http://downloads.raspberrypi.org/images/raspbian/2013-02-09-wheezy-raspbian/2013-02-09-wheezy-raspbian.zip
    2diveinedu@debian :~/opt$unzip  2013-02-09-wheezy-raspbian.zip

    下載解壓完后掛載鏡像:

    1diveinedu@debian :~/opt$ sudo  mkdir  /mnt/rasp-pi-rootfs
    2diveinedu@debian:~/opt$ sudo mount  -o loop,offset=62914560 2013-03-09-wheezy-raspbian.img    /mnt/rasp-pi-rootfs

    我們這不介紹交叉工具鏈的編譯,直接下載針對(duì)樹(shù)莓派優(yōu)化定制的交叉編譯工具鏈(或者用github上樹(shù)莓派的工具鏈https://github.com/raspberrypi/tools):

    1diveinedu@debian:~/opt$  wget  http://blueocean.qmh-project.org/gcc-4.7-linaro-rpi-gnueabihf.tbz
    2diveinedu@debian:~/opt$   tar -xf gcc-4.7-linaro-rpi-gnueabihf.tbz

    因?yàn)樯厦娴慕徊婢幾g工具是32位Linux的,如果你所使用的是64位Linux的話,還需要安裝32位的運(yùn)行庫(kù)軟件包:

    1diveinedu@debian:~/optsudo apt-get install ia32-libs

    如果用的是Debian Wheezy的64位系統(tǒng),上面的行不通,因?yàn)镈ebian Wheezy 64位開(kāi)啟了multiarch-support ,需要執(zhí)行:

    1diveinedu@debian:~/opt$  sudo apt-get install multiarch-support
    2diveinedu@debian:~/opt$  sudo dpkg --add-architecture i386
    3diveinedu@debian:~/opt$  sudo apt-get update
    4diveinedu@debian:~/opt$  sudo apt-get install ia32-libs

     

    從遠(yuǎn)程倉(cāng)庫(kù)克隆一份cross-compile-tools到本地:

    1diveinedu@debian:~/opt$  git clone git://gitorious.org/cross-compile-tools/cross-compile-tools.git

    從遠(yuǎn)程倉(cāng)庫(kù)克隆一份Qt5的源碼庫(kù)到本地:

    1diveinedu@debian:~/opt$  git clone git://gitorious.org/qt/qt5.git
    2diveinedu@debian:~/opt$   cd qt5
    3diveinedu@debian:~/opt/qt5$  ./init-repository

    最后,把qtjsbackend子項(xiàng)目打補(bǔ)丁讓其支持armv6指令集的樹(shù)莓派:

    1diveinedu@debian:~/opt/qt5cd ~/opt/qt5/qtjsbackend
    2diveinedu@debian:~/opt/qt5$  git fetch https://codereview.qt-project.org/p/qt/qtjsbackend  refs/changes/56/27256/4   &&   git  cherry-pick  FETCH_HEAD

    如果有沖突的話就解決沖突的代碼。

     

     

  • 編譯qtbase

    現(xiàn)在我們已經(jīng)準(zhǔn)備好了為樹(shù)莓派交叉編譯Qt5所需要的全部資源,在正式編譯之前只需要執(zhí)行一個(gè)小腳本來(lái)修正一下符號(hào)鏈接和庫(kù)文件路徑設(shè)置:

    1diveinedu@debian:~/opt/qt5cd  ~/opt/cross-compile-tools
    2diveinedu@debian:~/opt/qt5sudo  ./fixQualifiedLibraryPaths /mnt/rasp-pi-rootfs/ ~/opt/gcc-4.7-linaro-rpi-gnueabihf/bin/arm-linux-gnueabihf-gcc

    進(jìn)入qt5/qtbase目錄執(zhí)行以下腳本進(jìn)行配置和編譯工作:

    1diveinedu@debian:~/opt/qt5$ cd ~/opt/qt5/qtbase
    2diveinedu@debian:~/opt/qt5/qtbase$ ./configure -opengl es2 -device linux-rasp-pi-g++ -device-option CROSS_COMPILE=~/opt/gcc-4.7-linaro-rpi-gnueabihf/bin/arm-linux-gnueabihf- -sysroot /mnt/rasp-pi-rootfs -opensource -confirm-license -optimized-qmake -reduce-relocations -reduce-exports -release -make libs -prefix /usr/local/qt5pi -no-pch
    3diveinedu@debian:~/opt/qt5/qtbase$ make -j 4
    4diveinedu@debian:~/opt/qt5/qtbase$ sudo make install

     

  • 編譯其他模塊

    執(zhí)行到這步的時(shí)候,你已經(jīng)有了針對(duì)樹(shù)莓派交叉編譯的qmake工具了,你可以一一的去交叉編譯Qt5的其他模塊了,為里避免模塊編譯過(guò)程中可能 出現(xiàn)的依賴錯(cuò)誤,建議按照這個(gè)模塊順序去編譯: qtimageformats, qtsvg, qtjsbackend, qtscript, qtxmlpatterns, qtdeclarative, qtsensors, qt3d, qtgraphicaleffects,qtjsondb,qtlocation, qtdocgallery.

    模塊編譯相關(guān)的類似命令:

    1diveinedu@debian:~/opt/qt5$ cd qtimageformats
    2diveinedu@debian:~/opt/qt5/qtimageformats$ /usr/local/qt5pi/bin/qmake .
    3diveinedu@debian:~/opt/qt5/qtimageformats$ make -j4
    4diveinedu@debian:~/opt/qt5/qtimageformats$ sudo make install

    把你所需要或者所想編譯的模塊都按順序執(zhí)行編譯安裝命令后,所有需要的東西都安裝在了鏡像文件(raspbain wheezy image)里面了。我們接下來(lái)就是把他燒到SD卡上去。 SD卡燒寫(xiě)命令:

    1diveinedu@debian:~/opt/qt5$ cd ~/opt/
    2diveinedu@debian:~/opt$ sync; sudo umount /mnt/rasp-pi-rootfs
    3diveinedu@debian:~/opt$ sudo dd bs=1M if=2013-02-09-wheezy-raspbian.img of=/dev/sdc; sync

    提示:/dev/sdc是我使用的SD的設(shè)備, 請(qǐng)根據(jù)自己的實(shí)際情況修改。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“樹(shù)莓派如何實(shí)現(xiàn)Qt5交叉編譯移植”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

當(dāng)前名稱:樹(shù)莓派如何實(shí)現(xiàn)Qt5交叉編譯移植
瀏覽路徑:http://www.rwnh.cn/article44/jeesee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、網(wǎng)站制作、全網(wǎng)營(yíng)銷推廣、動(dòng)態(tài)網(wǎng)站企業(yè)建站、網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
元朗区| 南阳市| 苏尼特右旗| 嘉祥县| 志丹县| 临汾市| 共和县| 边坝县| 泽普县| 广安市| 临漳县| 高雄市| 开鲁县| 黄梅县| 吉林省| 岫岩| 丰顺县| 湘阴县| 那坡县| 民丰县| 安阳市| 五原县| 白山市| 河南省| 鄂温| 东丰县| 乌什县| 呈贡县| 孝义市| 衡山县| 唐河县| 景泰县| 图片| 娄烦县| 象州县| 临洮县| 恩施市| 清原| 青冈县| 从江县| 安陆市|