300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Qt交叉编译移植arm开发板

Qt交叉编译移植arm开发板

时间:2020-07-03 00:32:54

相关推荐

Qt交叉编译移植arm开发板

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.移植到开发板

​ 可以通过文件系统或者直接拷贝进去。

=========================(后续更新)-------------------------------------

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。