乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      超詳細Qt5.9.5移植攻略,拿走不謝

       XeonGate 2019-05-30

      https://blog.csdn.net/vickycheung3/article/details/82182136

      目前啟揚智能默認提供的Qt版本是4.8,但是現在已經發(fā)展到最新的5.9版本。當現有版本的Qt庫不能滿足實際開發(fā)需求時,則需要進行Qt移植。本文就來介紹下如何將Qt5.9.5移植到ARM開發(fā)板上。

       

      以啟揚imx6開發(fā)板為例,使用Ubuntu14.04虛擬機作為移植環(huán)境。

      下面跟著我左手右手一個慢動作,開始吧!

       

      一、準備工作

      1、主機環(huán)境:Ubuntu14.04;

      開發(fā)板:啟揚IAC-IMX6-kit;

      啟揚IAC-IMX6-Kit開發(fā)板

      (如果使用的是Ubuntu12.04,需要將gcc升級到4.8以上)

      2、官網下載源碼包

        

         下載qt-everywhere-opensource-src-5.9.5.tar.xz,這里選擇下載的是xz格式的源碼包,而不是將源碼和qtcreator打包好的run文件。因為試過run文件,一方面文件太大,另一方面安裝得到的源碼包和xz格式的有一些不同,比如找不到qt base,影響到后續(xù)的配置,所以最好選擇xz格式。

      3、解壓

         tar -zxvf qt-everywhere-opensource-src-5.9.5.tar.xz

      4、配置交叉編譯器的路徑

         因為Qt5.9.5支持C++11,所以編譯器版本需要高于4.8以上,我采用了4.8.3版本編譯器。

         修改~/.bashrc 文件,在系統(tǒng)環(huán)境變量PATH中添加交叉編譯器的路徑。(路徑以實際路徑為準)

      export PATH=/home/ubuntu1404/work/arm-2014.05/bin:$PATH

       

      執(zhí)行命令source ~/.bashrc

       

      查看交叉編譯器的路徑是否已經添加到系統(tǒng)環(huán)境變量PATH中。 
      可以查看交叉編譯器的版本號:

      arm-none-linux-gnueabi-gcc-v

      如果能夠正常顯示出交叉編譯器的版本號,恭喜你,第一步已經成功了!

       

      二、Qt5.9.5的交叉編譯

      1. 指定目標平臺的架構和交叉編譯器的類型

         Qt5中針對不同的目標平臺都有相應的配置文件夾,只需修改對應目標平臺文件夾中的配置文件qmake.conf。

      cd qt-everywhere-opensource-src-5.9.5

       

      vi qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf

       

      下面是修改后的qmake.conf,其中的內容需要根據自己的實際情況去修改。

       

      這里修改了兩個地方,一是定義了arm的架構,其中:QT_QPA_PLATFORM是指定QPA平臺的插件,這里選擇的是linuxfb,參數-O是編譯器提供的優(yōu)化選項,如-O、-O1、-O2、-O3等,代表不同的優(yōu)化級別,參數-march后面指定的是目標處理器的架構(可能指定不同的架構會調用不同的指令集,猜的~);另外一個改動的地方就是將下面g++.conf和linux.conf中的參數值中加上了fsl,如arm-none-linux-gnueabi-gcc,這是我選擇的交叉編譯器,可以根據自身的情況修改。

       

      2、根據需求配置Qt

       

      配置Qt可以通過源碼包中configure腳本來完成,運行configure腳本后會得到makefile文件,然后通過make和make install命令完成編譯和安裝。這里我編寫了一個腳本來實現配置的步驟。

      從shell腳本中可以看到,參數-prefix指定了文件的安裝路徑,我的安裝路徑是/opt/newQt5.9.5_arm/newQt5.9.5_arm_install,參數-xplatform指定了目標平臺為linux-arm-gnueabi-g++。執(zhí)行這個腳本后就會得到makefile文件,下一步就可以進行編譯了。

       

      3. 編譯和安裝

      終于可以編譯了,執(zhí)行make&&make install命令,然后開始漫長的編譯過程,整個過程持續(xù)大概2個小時。

      移植所需的文件到ARM中

      將編譯安裝得到的lib、plugins拷貝到開發(fā)板中,lib中存放的是QT程序運行所需的動態(tài)庫文件,plugins中存放的應該是所需的插件。由于U盤掛載比較麻煩,這里選擇使用scp命令,通過網絡傳輸。

      配置開發(fā)板環(huán)境并運行程序

      修改/etc/QtEnv文件,設置開發(fā)板的環(huán)境變量,文件末尾添加的內容如下:

      export LD_LIBRARY_PATH=/opt/Qt5.9.5_arm_install/lib

      export QT_QPA_PLATFORM_PLUGIN_PATH=/opt/Qt5.9.5_arm_install/plugins

      export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0

      export QT_QPA_FONTDIR=/opt/Qt5.9.5_arm_install/lib/fonts

       

      4. 編譯輸入法程序

      將QtSoftKeyboard2018-03-03.zip拷貝到目錄下解壓

      添加qmake到環(huán)境變量

      export QTEDIR=/opt/newQt5.9.5_arm/newQt5.9.5_arm_install:$QTEDIR

      export PATH=/opt/newQt5.9.5_arm/newQt5.9.5_arm_install/bin:$PATH

      export LD_LIBRARY_PATH=/opt/newQt5.9.5_arm/newQt5.9.5_arm_install/lib: LD_LIBRARY_PATH

      生成Makefile和編譯

          #qmake

          #make

          報錯

          修改PinYinFenCi.cpp文件的42行、88行、117行將toAscii()函數修改為toLatin1()

          將/bin/目錄下的InputTool和/db/目錄下的pinyin.db拷貝到開發(fā)板同一個目錄下

          運行InputTool

       

      報錯

       

      將/home/ubuntu1404/work/arm-2014.05/arm-none-linux-gnueabi/libc/lib/下的所有文件拷貝

       

      到開發(fā)板的/lib/目錄下

       

      Qt界面不顯示中文

       

      將FZYTK.TTF文件拷貝到/opt/Qt5.9.5_arm_install/lib/fonts下沒有fonts需創(chuàng)建

       

      警告

      解決方法

      移植libiconv-1.14

      ./configure -prefix=$PWD/install -host=arm-none-linux-gnueabi

      Make &&make install

      將安裝目錄下lib目錄下的preloadable_libiconv.so拷貝到開發(fā)板/system/lib目錄下

      添加環(huán)境變量export LD_PRELOAD=/system/lib/preloadable_libiconv.so

       

      至此,Qt移植就已經大功告成了!

      你以為我們提供教程就這些?當然不是了,Qt Creator的安裝配置運行過程繼續(xù)了解下!

      一、安裝Qt creator

      安裝步驟

      注意點:截圖中的紅色方框內容表示必須點擊或者填寫

      將qt-creator-opensource-linux-x86_64-4.3.1.run拷貝到Ubuntu中,運行qt-creator-opensource-linux-x86_64-4.3.1.run。

      出現以下界面,點擊Next:

      出現以下界面,點擊skip:

      出現以下界面,點擊Next:

      出現以下界面,選擇安裝路徑,以下是我的安裝路徑,然后點擊Next:

      出現以下界面,點擊Next:

      出現以下界面,點擊接受協議,然后點擊Next:

      出現以下界面,點擊install:

      出現以下界面,等待1分鐘左右:

      出現以下界面,點擊finish:

      出現以下界面,表示安裝成功:

      備注:Qt Creator可運行文件在: <安裝目錄>/bin/qtcreator

      二、配置Qt Creator

       配置步驟

      點擊Tools->Options:

      點擊Build & Run 然后點擊Compilers:

      點擊Add->GCC->C:

      Compiler path 填寫:

      /home/ubuntu1404/work/arm-2014.05/bin/arm-none-linux-gnueabi-gcc

      然后點擊Apply:

       

      點擊Add->GCC->C++:

      Compiler path 填寫:

      /home/ubuntu1404/work/arm-2014.05/bin/arm-none-linux-gnueabi-g++

      然后點擊Apply:

      點擊Qt Versions ,然后點擊Add:

      選擇如下圖路徑的qmake,然后點擊Apply:

       

       

      點擊Debuggers,然后點擊Add:

      Name填寫:qt5.9.5-imx6

      Path 填寫:

      /home/ubuntu1404/work/arm-2014.05/bin/arm-none-linux-gnueabi-gdb

      然后點擊Apply

       

      點擊Kits,然后點擊Add:

      Name填寫:qt5.9.5-imx6

      Sysroot填寫:/home/ubuntu1404/work/arm-2014.05/bin

      Compiler C 選擇GCC

      Compiler C++ 選擇GCC

      Debuggers 選擇qt5.9.5-imx6

      Qt version 選擇Qt 5.9.5(qt5)

      最后點擊OK。

       

      配置好后,關閉Qt creator。

      三、 運行Qt creator

      在終端運行:<安裝目錄>/bin/qtcreator.sh

      四、搭建Qt工程

      點擊New Project

      點擊Application,然后點擊Qt Widgets Application,然后點擊Choose:

      Name 填寫: qt-test

      Create ir 填寫:/home/ubuntu1404 (備注:我的路徑)

      選擇qt5.9.5-imx6,然后點擊Next:

       

       

      出現以下界面,點擊Next:

      出現以下界面,點擊Finish:

      出現以下界面,點擊Forms,然后雙擊mainwindow.ui:

      將左邊的Push Buttor 拖拽到右邊的窗口布局上:

      右擊窗口布局的PushButton,選擇Go to slot :

       

      出現以下界面,點擊clicked(),然后點擊OK :

       

      在下圖的mainwindow.cpp中添加頭文件:注意頭文件換成英文雙引號

       

      #include <QMessageBox>

      #include <qdebug.h>

       

      在void MainWindow::on_pushButton_clicked() 函數中添加:

      QMessage Boxmessage(QMessageBOX::Warning,"Information”,“Really to clear

      data?",QMessageBox::Yes|QMessageBox::No,NULL);

          if (message.exec()==QMessageBox::Yes)

          {

             qDebug()<<"clicked yes\n";

          }

          else

          {

             qDebug()<<"clicked no\n";

      }

      點擊File,然后點擊Save All:

       

      點擊左下角的Run 綠色三角形按鈕,等待十秒左右后,右下角出現綠色橫條,表示IMX6 可執(zhí)行的Qt程序成功生成。

       

      然后就可以嘗試運行準備好的Qt程序了,Qt5中是不用加-qws參數的

      Tips:Qt5中不再用到Qt4中的窗口系統(tǒng)qws++,而是使用QPA系統(tǒng),二者之間的差異還不清楚,但是程序運行時不需要再加上參數-qws了。而這個特性也導致Qt5與Qt4的移植過程有一些區(qū)別,這里記錄一下。


      了解Qt5.9

            赫爾辛基,2017年6月5日——Qt公司發(fā)布了其跨平臺軟件開發(fā)框架Qt的最新版本Qt 5.9。該開發(fā)框架能夠幫助企業(yè)為自己的產品帶來高超的用戶體驗,滿足用戶的需求。Qt5.9 得益于C++ 11的強大,帶來了前所未有的性能及穩(wěn)定性,并且為您提供長期支持(LTS)。目前,全球數百萬的開發(fā)者都在使用Qt技術,包括財富五百強企業(yè)前十名中的八位。

             根據Gartner最近發(fā)布的預測,2017年全球使用物聯網的設備達到84億件,比2016年增長31%,并且在2020年有望達到204億件。物聯網已經成為了全球技術發(fā)展方向中市場機會最廣闊的領域。因此,企業(yè)及獨立開發(fā)者們急切盼望能夠通過方便快捷地創(chuàng)建應用及設備,滿足當前及未來物聯網行業(yè)的需求。在Qt 5.9的支持下,企業(yè)及獨立開發(fā)者們能夠獲得這一跨平臺開發(fā)框架的強力支持,為任何操作系統(tǒng)和設備開發(fā)提供功能強大且靈活的軟件。

             Qt公司CTO Lars Knoll表示:“在今天這個萬物互聯、移動為先的社會里,客戶的期望值呈指數級增長,幾年前的企業(yè)完全無法預測今天的需求。因此,開發(fā)者們創(chuàng)造的應用及設備必須滿足甚至超越客戶的期望,以獲得高超的用戶體驗。為滿足這一需求,開發(fā)者們使用的開發(fā)框架也必須足夠先進、靈活。Qt 5.9給開發(fā)者們提供了他們所需的性能及穩(wěn)定性,幫助他們在今天高度競爭、應用驅動的經濟環(huán)境中脫穎而出。”

        正如Qt的全部應用開發(fā)及設備開發(fā)工具一樣,Qt 5.9所包含的新功能與高性能均以加速軟件及設備開發(fā)為目的,涵蓋大量行業(yè),包括醫(yī)療健康、汽車制造、飛機制造、制造業(yè)、家電以及娛樂產品等。

      獲取Qt移植相關資料,關注微信公眾號“啟揚智能ARM嵌入式開發(fā)”,回復關鍵字“qt”即可。

        本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
        轉藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多