ubuntu下交叉编译树莓派QT

下载Qt 5.12源码

wget https://download.qt.io/archive/qt/5.12/5.12.12/single/qt-everywhere-src-5.12.12.tar.xz
tar xvf qt-everywhere-src-5.12.12.tar.xz
cd qt-everywhere-src-5.12.12

如果出现如下提示:

这是因为国内无法下载的,请想法墙外下载。

配置Qt交叉编译环境

创建build目录

mkdir build && cd build
修改mkspec文件
nano /opt/qt-everywhere-src-5.12.12/qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf

修改mkspec文件中关键配置:

# modifications to g++.conf
# 原内容
#QMAKE_CC                = arm-linux-gnueabi-gcc
#QMAKE_CXX               = arm-linux-gnueabi-g++
#QMAKE_LINK              = arm-linux-gnueabi-g++
#QMAKE_LINK_SHLIB        = arm-linux-gnueabi-g++


# modifications to linux.conf
# 原内容
#QMAKE_AR                = arm-linux-gnueabi-ar cqs
#QMAKE_OBJCOPY           = arm-linux-gnueabi-objcopy
#QMAKE_NM                = arm-linux-gnueabi-nm -P
#QMAKE_STRIP             = arm-linux-gnueabi-strip

# 改为你的
QMAKE_CC  = /home/user/x-tools/armv7-rpi2-linux-gnueabihf/bin/armv7-rpi2-linux-gnueabihf-gcc
QMAKE_CXX = /home/user/x-tools/armv7-rpi2-linux-gnueabihf/bin/armv7-rpi2-linux-gnueabihf-g++
QMAKE_LINK = /home/user/x-tools/armv7-rpi2-linux-gnueabihf/bin/armv7-rpi2-linux-gnueabihf-g++
QMAKE_AR  = /home/user/x-tools/armv7-rpi2-linux-gnueabihf/bin/armv7-rpi2-linux-gnueabihf-ar cqs
QMAKE_OBJCOPY = /home/user/x-tools/armv7-rpi2-linux-gnueabihf/bin/armv7-rpi2-linux-gnueabihf-objcopy
QMAKE_NM  = /home/user/x-tools/armv7-rpi2-linux-gnueabihf/bin/armv7-rpi2-linux-gnueabihf-nm -P
QMAKE_STRIP = /home/user/x-tools/armv7-rpi2-linux-gnueabihf/bin/armv7-rpi2-linux-gnueabihf-strip

执行如下配置指令:

../configure   -prefix /opt/qt5.12-armv7-rpi2  -xplatform linux-arm-gnueabi-g++   -sysroot /home/user/x-tools/armv7-rpi2-linux-gnueabihf/armv7-rpi2-linux-gnueabihf/sysroot   -device-option CROSS_COMPILE=/home/user/x-tools/armv7-rpi2-linux-gnueabihf/bin/armv7-rpi2-linux-gnueabihf-   -no-opengl   -opensource -confirm-license  -extprefix /opt/qt5.12-armv7-rpi2-host

执行编译、安装指令:

make -j$(nproc) && sudo -E make install

完成后,执行如下指令:

/opt/qt5.12-armv7-rpi2-host/bin/qmake --version
  • 可看到如下返回,则证明安装成功。
  • QMake version 3.1
    Using Qt version 5.12.12 in /opt/qt5.12-armv7-rpi2-host/lib

QT5.12.12源码分析及编译指南 Qt是一个强大的跨平台应用程序开发框架,主要由C++编写,支持多种操作系统,包括Windows、Linux、macOS、Android和iOS等。Qt5.12.12是该框架的一个稳定版本,提供了丰富的功能和优化,适用于桌面应用、移动应用以及嵌入式系统的开发。本文将深入探讨Qt5.12.12的源码结构,并提供编译和使用源码的步骤。 让我们来看看Qt的源码结构。`qt-everywhere-src-5.12.12`这个目录包含了所有Qt库和工具的源代码,可以分为以下几个主要部分: 1. **src**:这是核心源代码的所在,包括各种模块如Core、Gui、Network、Sql、Widgets、 Multimedia等。每个模块都有自己的子目录,其中包含头文件、源文件、测试用例等。 2. **qtbase**:基础Qt库,包含了Qt的主要功能,如事件处理、图形绘制、网络通信等。 3. **qtdeclarative**:Qt Quick模块,用于创建基于QML的用户界面,它提供了声明式的UI设计和JavaScript交互。 4. **qtmultimedia**:多媒体模块,支持音频、视频的播放和录制。 5. **qtnetworkauth**:网络认证模块,处理HTTP、OAuth等网络身份验证。 6. **qtscript**:Qt Script模块,允许在Qt应用中使用ECMAScript。 7. **qtquickcontrols2**:快速控制2模块,提供了现代风格的UI组件。 8. **qtx11extras**:针对X11(Unix/Linux)平台的额外功能。 9. **qttools**:包含了用于构建和维护Qt项目的工具,如qmake、jom、lrelease等。 10. **examples**
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值