Qt交叉编译移植arm开发板
文章目录
Qt交叉编译移植arm开发板1 环境介绍2 opecv的移植3 交叉编译链的安装4 tslib库的安装5 Qt源码的交叉编译6 qt配置编译器6 编译arm-qt程序1 环境介绍
linux -------------------------------- Ubuntu16.04 ----------------------- 下载地址
交叉编译------------------------ arm-linux-gcc-4.4.3 ------------------ 下载地址
Qt版本 --------------------------------- Qt5.13.0 -------------------------- 下载地址
Qt源码 ---------------------------------- Qt5.6.0 --------------------------- 下载地址
tslib版本 -------------------------------- tslib1.9 --------------------------- 下载地址
2 opecv的移植
opecv的移植
3 交叉编译链的安装
1.首先上传到虚拟机进行解压
sudo tar zxvf arm-linux-gcc-4.4.3.tar.gz -C /
2.添加环境变量
sudo vi /etc/profile
在打开的文件中添加:export PATH=/opt/FriendlyARM/toolschain/4.4.3/bin:$PATH
注:/opt/FriendlyARM/toolschain/4.4.3/bin为交叉编译链所在路径
3.是环境变量添加到路径
source /etc/profile
4 tslib库的安装
1.对源码包进行解压
tar zxvf tslib-1.9.tar.gz
2.创建tslib库的安装路径
sudo mkdir -p /usr/local/tslib
3.进入解压库中配置执行以下命令(三步命令)
cd tslib./autogen.sh./configure --host=arm-linux ac_cv_func_malloc_0_nonnull=yes CC=/opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-gcc CXX=/opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-g++ -prefix=/usr/local/tslib
4.编译
make -j4
5.安装
make install
5 Qt源码的交叉编译
1.对Qt源码包进行解压
tar zxvf qt-everywhere-opensource-src-5.6.0.tar
创建安装路径
sudo mkdir -p /usr/local/Qt
3.配置qt-everywhere-opensource-src-5.6.0/qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf文件
## qmake configuration for building with arm-linux-gnueabi-g++#MAKEFILE_GENERATOR= UNIXCONFIG += incrementalQMAKE_INCREMENTAL_STYLE = sublibQMAKE_INCDIR=/usr/local/tslib/include/QMAKE_LIBDIR=/usr/local/tslib/lib/include(../common/linux.conf)include(../common/gcc-base-unix.conf)include(../common/g++-unix.conf)# modifications to g++.confQMAKE_CC= /opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-gcc -ltsQMAKE_CXX= /opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-g++ -ltsQMAKE_LINK = /opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-g++ -ltsQMAKE_LINK_SHLIB = /opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-g++ -lts# modifications to linux.confQMAKE_AR= /opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-ar cqsQMAKE_OBJCOPY = /opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-objcopyQMAKE_NM= /opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-nm -PQMAKE_STRIP = /opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-strip# openglQMAKE_INCDIR_OPENGL_ES2 = /usr/local/opengl_lib_inc/include/khronosQMAKE_LIBDIR_OPENGL_ES2 = /usr/local/opengl_lib_inc/libsQMAKE_LIBS_OPENGL_ES2 += -lGLESv2 -lEGL -lGALQMAKE_LIBS_OPENGL_ES1 += -lGLESv1_CM -lEGL -lGALQMAKE_LIBS_OPENGL_ES1CL+= -lGLES_CL -lEGL -lGALQMAKE_INCDIR_EGL = /usr/local/opengl_lib_inc/include/khronosQMAKE_LIBDIR_EGL = /usr/local/opengl_lib_inc/libsQMAKE_LIBS_EGL += -lEGLQMAKE_LIBS_OPENVG+= -lOpenVG -lEGL -lGALload(qt_config)
4.在qt-everywhere-opensource-src-5.6.0/下创建qt-build.sh配置编译选项, 参数含义
./configure -prefix /usr/local/Qt \-opensource \-release \-confirm-license \-xplatform linux-arm-gnueabi-g++ \-shared \-verbose \-qt-zlib \-pkg-config \-no-nis \-opengl \-no-gif \-qt-libjpeg \-no-opengl \-no-cups \-no-glib \-no-dbus \-no-rpath \-no-sse2 -no-sse3 -no-ssse3 -no-sse4.1 -no-sse4.2 \-no-avx \-no-openssl \-skip qtdeclarative \-skip qtserialbus \-skip qtwebchannel \-skip qtlocation \-nomake tools \-qreal float \-qt-libpng \-tslib \-make examples \-I /usr/local/tslib/include \-L /usr/local/tslib/lib \-L /usr/local/opengl_lib_inc/libs \-I /usr/local/opengl_lib_inc/include/khronos \
5.执行qt-build.sh
sudo chmod +x qu-build.shsudo ./qt-build.sh
6.编译、安装
sudo make -j4sudo make install
6 qt配置编译器
安装完成之后,对应的目录下已经生成相应的文件,QT在linux的安装将不再赘述,可以自行查找,主要讲一下编译完之后的配置。
1.首先添加编译器(g++的编译器也要添加,相同方法)
2.添加qmake
3.添加kits
6 编译arm-qt程序
1.创建项目时,选择刚才加入的编译器
2.编译结果
3.移植到开发板
可以通过文件系统或者直接拷贝进去。
=========================(后续更新)-------------------------------------