一 准备工作:
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是否成功)