qt5.10.1編譯記錄


qt版本更新比較快,不知道選哪個版本合適,故選擇一個較新版本的。

平台imx6    +    linux4.1.16   +   qt5.10.1

采用明遠智睿提供的編譯器:fsl-imx-fb-glibc-x86_64-meta-toolchain-qt5-cortexa9hf-neon-toolchain-4.1.15-2.1.0.sh,安裝在目錄/opt/fsl-imx-fb/4.1.15-2.1.0/目錄下

明遠已經幫客戶設置好了編譯環境變量,在文件/opt/fsl-imx-fb/4.1.15-2.1.0/sysroots/env-*****.sh文件里面。

運行該文件即可配置好環境。

接着下載QT5.10.1源碼並解壓:

源碼配置方式參考....../qtbase/mkspec/device/linux-imx6-g++/qmake.conf文件,

推薦配置為:./configure -prefix /usr/local/qt5 -extprefix $HOME/imx6/qt5 -device linux-imx6-g++    -device-option CROSS_COMPILE=$HOME/imx6/toolchain/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-  -sysroot $HOME/imx6/toolchain/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi    -nomake examples -nomake tests -v

根據自己的安裝目錄更改-prefix  和 -extprefix選項,並且更改好交叉編譯器環境,

在配置過程中發現can not find crti.c,crt1.o等錯誤,

查找編譯器目錄下存在這幾個文件,故很大可能是環境變量有問題,仔細檢查了N遍環境變量配置,沒發現有問題的地方,

比對明遠他提供的環境變量配置文件,發現--sysroot指定的路徑和SDKTARGETSYSROOT環境變量和sysroot設置一樣的值,果斷把sysroot指定為SDKTARGETSYSROOT,在執行configure,故障解除。

接着執行make 

報錯找不到zconf.h目錄下定義的幾個宏,原因應該是電腦zlib庫版本的問題,於是采用qt自身的zlib庫,及在配置的時候加上-qt-zlib配置選項

繼續make   成功。接下來就是將編譯好的庫文件放到開發板的文件系統里面,安放位置由編譯配置時的-prefix指定。設置好QT運行環境變量。如何設置,請聽下回詳解。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM