windows下Qt13源碼編譯-QtCreator配置linux arm交叉編譯環境

Windows下在Qt Creator4.9.1環境下配置Qt5.13.0的交叉編譯環境以編譯出petelinux可以使用的Qt程序(arm架構的 平臺下也可以使用),以編譯64bit編譯環境爲例說明

第一步,安裝QtCreator4.9.1

下載路徑:
http://download.qt.io/official_releases/qt/5.13/5.13.0/
選擇:
在這裏插入圖片描述
安裝完成後可以編譯32bit和64bit的windows下執行程序或者庫文件等。
安裝完成後要設置環境變量,找到Qt的安裝文件夾,環境變量設置路徑如下:“<Qt安裝文件夾路徑>\Tools\mingw730_64\bin”

第二步,下載Qt5.13源代碼

下載路徑:
http://download.qt.io/official_releases/qt/5.13/5.13.0/single/
選擇.zip文件下載即可

在這裏插入圖片描述
下載後解壓,本文放置的解壓路徑D:\qt-everywhere-src-5.13.0,路徑qtbase\mkspecs文件夾可以找到linux-aarch64-gnu-g++文件夾,用文本編輯器打開文件夾內的qmake.conf即可查看源碼編譯時使用的編譯器,這裏默認使用的編譯器是aarch64-linux-gcc和aarch64-linux-g++。

第三步,配置源碼編譯器

源碼編譯工具可以使用arm-linux-gnueabihf或者linux-aarch64-gnu-g++,本文使用linux-aarch64-gnu-g++,在qt源碼文件夾\qtbase\mkspecs\linux-aarch64-gnu-g++文件夾中可以看到qmake.conf配置文件,包含了編譯器的配置。同樣mkspecs文件夾下有linux-arm-gnueabi-g++文件夾,包含了gnueabihf的編譯器配置。
軟件Vivado有 linux-aarch64-gnu-g++,詳見路徑<Vivado安裝路徑>\SDK\2018.2\gnu\aarch64\nt\aarch64-linux,可以自行安裝vivado軟件並配置環境變量,或者從安裝vivado軟件的主機上拷貝nt\aarch64-linux文件夾的內容到本地,本文中拷貝了gnu文件夾內的aarch32(編譯32bit代碼時應該要用到)和aarch64兩個編譯器文件。
設置環境變量
“< aarch64-linux 文件夾路徑>\aarch64\nt\aarch64-linux\bin”

第四步,安裝Active Perl

下載地址:https://www.perl.org/get.html
選擇下載如下的工具
在這裏插入圖片描述
安裝完成後將“<安裝路徑>\bin”添加至環境變量

第五步,安裝python

本機安裝的是python3.6

第六步,交叉編譯QT源碼

1、編譯配置:
configure.bat -release -opensource -xplatform linux-aarch64-gnu-g++ -prefix D:\ProgramFiles\Qt\QtMake\linux_arm64 -nomake tests -nomake examples -no-opengl -skip qtvirtualkeyboard
配置屬性說明:
-xplatform 表示使用源碼路徑qtbase\mkspecs\linux-aarch64-gnu-g++文件夾內的配置,編譯時會自動去該路徑下找到配置文件進行編譯
-prefix 指示安裝路徑
-no-opengl 表示不安裝OpenGL
-skip 表示不安裝的qt工具包,工具包的名稱即爲源碼路徑下的文件夾名稱
打開命令行,進到Qt源碼文件夾,運行上面的指令即可
2、編譯:
運行指令mingw32-make
3、安裝
運行指令mingw32-make install

第七步,配置QtCreator

QtCreator4.9.1的配置過程和之前的QtCreator版本配置項相同,配置位置略有差異,主要配置流程如下:
1、配置QMake
打開“工具->選項->kits”,選擇Qt Version頁面
在這裏插入圖片描述
點擊右側添加按鍵,選擇編譯出的源碼路徑下的bin文件(就是配置Qt源碼編譯後存放編譯結果的那個路徑)夾內的QMake.exe即可。
在這裏插入圖片描述
2、配置編譯器Compilers
該部分主要添加C++和C的編譯器,用於編譯arm版本的代碼,
設置GCC的C編譯器,打開“工具->kits->編譯器(Compilers)”
在這裏插入圖片描述
右側選擇“添加->GCC->C”,編譯器路徑即爲gnu工具中的C編譯器aarch64-linux-gnu-gcc所在路徑,ABI設置爲arm-linux-generic-elf-64bit
設置GCC的C++編譯器,打開“工具->kits->編譯器(Compilers)”,右側選擇“添加->GCC->C++”,編譯器路徑即爲gnu工具中的C++編譯器aarch64-linux-gnu-g++所在路徑,ABI設置爲arm-linux-generic-elf-64bit
在這裏插入圖片描述
配置完成後在kits的編譯器頁面會出現對應的配置項,如下
在這裏插入圖片描述
3、配置Debuggers
該部分配置調試工具,使用gnu編譯器所在文件夾下的gdb調試工具,
打開“工具->選項->kits->Debuggers”,點擊Add添加新的調試工具,這裏選擇gnu編譯工具集合下的aarch64-linux-gnu-gdb工具,在gnu工具下的aarch64-linux\bin路徑
在這裏插入圖片描述
配置結束後會在Debuggers頁面下新增調試工具
在這裏插入圖片描述
4、配置CMake
該部分用於編譯得到嵌入式系統下的執行程序或者庫文件,使用QtCreator自帶的CMake編譯工具,個人理解這裏的CMake是交叉編譯工具,之前配置的QMake是Qt代碼的編譯工具
依次選擇“工具->選項->Kits->CMake”,點擊Add按鍵添加新的編譯工具,選擇添加mingw32-make.exe,所在路徑
“<QtCreator安裝路徑> \Tools\mingw730_64\bin\mingw32-make.exe”
在這裏插入圖片描述
配置成功後在CMake頁面會有顯示
在這裏插入圖片描述
5、添加Arm64的編譯環境(構建套件Kits)
該部分用於配置編譯Qt代碼時的編譯環境,基本是將前面的配置內容添加到編譯環境裏
依次選擇“工具->選項->Kits->構建套件(Kit)”,點擊右側Add按鍵進行配置,配置項目選擇前面配置好的內容即可,主要配置內容見下圖
在這裏插入圖片描述
配置完成後再次進到該“構建套件(Kit)”頁面會有如下顯示,其中linux_arm64爲新增加的編譯環境,前面兩個是QtCreator安裝時配置好的構建環境
在這裏插入圖片描述
第八步,創建Qt工程驗證
目前QtCreator編譯linux arm64的環境已經已經配置完成,驗證是否可以進行編譯,
Ctrl+N創建一個新的桌面應用程序,構建套件時選擇linux_arm64即可
在這裏插入圖片描述
待程序創建好後,在工作窗口左側“項目”界面修改Override make選項,點擊Make選項右側的詳情即可列出override make欄,選擇QtCreator安裝路徑下的\Tools\mingw730_64\bin\mingw32-make.exe。
在這裏插入圖片描述
然後ctrl+b進行工程編譯即可,debug和profile模式設置類似,將上圖中Release選項調整爲debug或者profile即可,仍舊是設置override make欄。
編譯生成的執行程序或者庫文件見上圖中“構建目錄”中列出的路徑,注意只能編譯,而不能運行。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章