1. 程式人生 > >imx6的qt5.6.2的移植

imx6的qt5.6.2的移植

一 準備工作:
1.主機環境:ubuntu14.04
2.交叉編譯器:arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
(www.veryarm.com/arm-none-linux-gnueabi-gcc)
3.qt原始碼:直接去官網
http://download.qt.io/archive/qt/)下載QT的原始碼即可
需要安裝的庫檔案:

sudo apt-get install libxcb1 libxcb1-dev libx11-xcb1 libx11-xcb-dev libxcb-keysyms1 libxcb-keysyms1-dev libxcb-image0 libxcb-image0-dev libxcb-shm0 libxcb-shm0-dev libxcb-icccm4 libxcb-icccm4-dev libxcb-sync0 libxcb-sync-dev libxcb-xfixes0-dev libxrender-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0 libxcb-render-util0-dev libxcb-glx0-dev

二 配置交叉編譯環境
tar(選項)(引數)
-j:支援bzip2解壓檔案;
-v:顯示操作過程;
-c或–create:建立新的備份檔案;
-f<備份檔案>或–file=<備份檔案>:指定備份檔案;
-z或–gzip或–ungzip:通過gzip指令處理備份檔案;

1.解壓交叉編譯器

tar -jvxf arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

在這裡插入圖片描述

2.開啟交叉編譯器配置檔案

sudo vim /etc/bash.bashrc
在檔案最後新增如圖一行
export PTAH=/home/lou/work/arm-2014.05/bin:$PATH

在這裡插入圖片描述

三qt5.6.2的編譯
1解壓tar vxf qt-everywhere-opensource-src-5.6.2.tar.xz
在這裡插入圖片描述

2cd qtbase/mkspecs/linux-arm-gnueabi-g++/
3vim qmake.conf
新增內容到qmake.conf檔案中並且把正確的交叉編譯器路徑新增好

#define the architecture of arm/
QT_QPA_PLATFORM = linuxfb:fb=/dev/fb0
QMAKE_CFLAGS_RELEASE += -O2 -march=armv7-a
QMAKE_CXXFLAGS_RELEASE += -O2 -march=armv7-a
#end
在這裡插入圖片描述

返回qt-everywhere-opensource-src-5.6.2目錄。

sudo vim build.sh(這個就是配置qt,可以根據自己的需要來配置,樓主這邊是最簡單的配置)
./configure
-v
-prefix /opt/newQT5.6.2_arm/newQT5.6.2_arm_install
-release
-make libs
-xplatform linux-arm-gnueabi-g++
-optimized-qmake
-pch
-qt-zlib
-no-opengl
-no-sse2
-no-openssl \
-no-cups
-no-separate-debug-info
-nomake examples -nomake tools

在這裡插入圖片描述

5sudo make && make install
等待編譯結束,會生成/opt/newQT5.6.2_arm/newQT5.6.2_arm_install路徑生成如圖的檔案。在這裡插入圖片描述

四設定開發板的環境變數
1啟動開發板,設定qt5.6.2的環境變數

sudo vi /etc/Qtenv
新增
export LD_LIBRARY_PATH=/opt/newQT5.6.2_arm_install
export QT_QPA_PLATFORM_PLUGIN_PATH=/opt/Qt5.6.2_arm_install/plugins
export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0
export QT_QPA_FONTDIR=/opt/Qt5…2_arm_install/lib/fonts

2然後把三qt5.6.2編譯中的最後一步形成的lib和plugins通過nfs掛載的形式拷貝到開發板中。形成的目錄路徑一定要和第一步設定qt5.6.2中的路徑一致。
nfs伺服器的搭建可以參照(樓主本人親測)(https://blog.csdn.net/qq_36468053/article/details/84245368)
最後需要在自己的虛擬機器上搭建qt環境。(驗證自己移植的qt是否成功)