小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

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

 XeonGate 2019-05-30

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

目前啟揚智能默認提供的Qt版本是4.8,但是現(xiàn)在已經(jīng)發(fā)展到最新的5.9版本。當現(xiàn)有版本的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、官網(wǎng)下載源碼包

  

   下載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

 

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

arm-none-linux-gnueabi-gcc-v

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

 

二、Qt5.9.5的交叉編譯

  1. 指定目標平臺的架構(gòu)和交叉編譯器的類型

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

cd qt-everywhere-opensource-src-5.9.5

 

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

 

下面是修改后的qmake.conf,其中的內(nèi)容需要根據(jù)自己的實際情況去修改。

 

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

 

2、根據(jù)需求配置Qt

 

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

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

 

3. 編譯和安裝

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

移植所需的文件到ARM中

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

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

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

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()函數(shù)修改為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移植就已經(jīng)大功告成了!

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

一、安裝Qt creator

安裝步驟

注意點:截圖中的紅色方框內(nèi)容表示必須點擊或者填寫。

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

出現(xiàn)以下界面,點擊Next:

出現(xiàn)以下界面,點擊skip:

出現(xiàn)以下界面,點擊Next:

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

出現(xiàn)以下界面,點擊Next:

出現(xiàn)以下界面,點擊接受協(xié)議,然后點擊Next:

出現(xiàn)以下界面,點擊install:

出現(xiàn)以下界面,等待1分鐘左右:

出現(xiàn)以下界面,點擊finish:

出現(xiàn)以下界面,表示安裝成功:

備注: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。

 

配置好后,關(guān)閉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:

 

 

出現(xiàn)以下界面,點擊Next:

出現(xiàn)以下界面,點擊Finish:

出現(xiàn)以下界面,點擊Forms,然后雙擊mainwindow.ui:

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

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

 

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

 

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

 

#include <QMessageBox>

#include <qdebug.h>

 

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

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 綠色三角形按鈕,等待十秒左右后,右下角出現(xiàn)綠色橫條,表示IMX6 可執(zhí)行的Qt程序成功生成。

 

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

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


了解Qt5.9

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

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

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

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

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

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多