在ubuntu下利用arm交叉编译qt源码加串口模块,并且调用串口类,生成arm可执行程序

63 篇文章 9 订阅

linux平台:ubuntu16.04

qt:5.4.1

 

qt包下载地址 http://download.qt.io/archive/qt/5.4/5.4.1/

 

先前下载的是submodules目录下的 qtbase-opensource-src-5.4.1.tar.xz

这个里面没有Qserialport模块,所以需要下载Qserialport模块。

这里我直接 下载了 single目录下的

qt-everywhere-opensource-src-5.4.1.tar.gz

其次下载arm交叉编译器

arm-cortex_a9-eabi-4.7-eglibc-2.18.tar.gz

tar xf qt-everywhere-opensource-src-5.4.1.tar.gz  // 解压文件

tar xf arm-cortex_a9-eabi-4.7-eglibc-2.18.tar.gz 

sudo vi /etc/environment

source /etc/environment

cd /home/guo/software/qt/qt-everywhere-opensource-src-5.4.1

 

在README查看如何添加模块

可以看到加模块就需要在执行make命令的时候加参数 module-qtscript

所以要加串口模块,就需要改成,module-qtserialport

以上是关键性的一步,加上这一步,直接就可以交叉编译生成了QtSerialPort.so动态链接库

 

现在从头开始,

进入 cd qtbase/mkspecs/linux-arm-gnueabi-g++

此时绝对路径:/home/guo/software/qt/qt-everywhere-opensource-src-5.4.1/qtbase/mkspecs/linux-arm-gnueabi-g++

vi qtmake.conf  //进入配置文件,将GNU的编译器改成arm交叉编译器的命令,配置好qmake的环境

接着

cd ../../../      

此时绝对路径:/home/guo/software/qt/qt-everywhere-opensource-src-5.4.1

在此目录下新建脚本build.sh

./configure -prefix /opt/qtlib -release -opensource -qt-libpng -qt-libjpeg -plugin-sql-sqlite -widgets -qt-sql-sqlite -make libs -no-cups -no-nis -no-iconv  -no-openssl -no-iconv -no-accessibility -no-sse2 -silent -xplatform linux-arm-gnueabi-g++ -nomake tools -nomake examples -nomake tests -qt-freetype -no-glib -strip -linuxfb -plugindir /opt/qtlib/plugins

 

./build.sh   运行脚本,通过此脚本,运行configure配置文件,配置好编译及安装环境

 

接着在此目录下运行

make -j4 module-qserialport

运行完成后执行

make install

 

这下在/opt/qtlib/bin/有了qmake可执行文件,此文件是ARM版本的

还有/home/guo/software/qt/qt-everywhere-opensource-src-5.4.1目录下的qtserialport目录里就多出了lib目录,lib目录里也有了.so动态链接库

这个lib目录和include目录,在后面运行串口模块的程序中要引用

 

利用QT5.4.1打开 TestSerialPort.pro文件。工程就被打开了,然后右键,选择添加库

删除里面serialport模块

QT +=serialport 这句删掉

 

 

 

然后选择外部库

 

只选择linux平台,点击选择库文件路径

lib目录在/home/guo/software/qt/qt-everywhere-opensource-src-5.4.1/qtserialport/lib

include目录路径:

/home/guo/software/qt/qt-everywhere-opensource-src-5.4.1/qtserialport/include

添加了之后再pro文件就多出了

unix:!macx: LIBS += -L$$PWD/../../../software/qt/qt-everywhere-opensource-src-5.4.1/qtserialport/lib/ -lQt5SerialPort

 

INCLUDEPATH += $$PWD/../../../software/qt/qt-everywhere-opensource-src-5.4.1/qtserialport/include

DEPENDPATH += $$PWD/../../../software/qt/qt-everywhere-opensource-src-5.4.1/qtserialport/include

 

然后点击保存

 

在终端进入TestSerialPort目录输入

/opt/qtlib/bin/qmake

make

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GLL_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值