IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Qt交叉编译 -> 正文阅读

[系统运维]Qt交叉编译

Qt交叉编译注意事项:

  • 若在configure或者make过程中遇到了错误,进行一定的方法修改后建议重新解压Qt源码进行测试,否则有可能解决方法是有效的,但是在当前已错的情况下编译仍然会报错,不要想着使用QT的make clean和make distclean。实测无效。
  • configure出错的情况下可以查看config.log文件。有时候config.log文件内容只是你写的configure配置参数,建议重新解压源码configure后若还是错误则查看config.log。实测,一般进行过一次configure之后再次configure的话,config.log中的内容就是configure编译参数。
  • make过程中出错建议网上翻看编译信息,可能有错误提示已经建议解决办法。

1. 解压

sudo tar xvf qt-everywhere-opensource-src-5.9.7.tar.xz

2. 配置Qt工具链

修改qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf文件配置工具链

#
# qmake configuration for building with arm-linux-gnueabi-g++
#

MAKEFILE_GENERATOR      = UNIX
CONFIG                 += incremental
QMAKE_INCREMENTAL_STYLE = sublib

include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)

# modifications to g++.conf
QMAKE_CC                = /home/pgs/toolChain/bin/arm-linux-gnueabihf-gcc -lts
QMAKE_CXX               = /home/pgs/toolChain/bin/arm-linux-gnueabihf-g++ -lts
QMAKE_LINK              = /home/pgs/toolChain/bin/arm-linux-gnueabihf-g++ -lts
QMAKE_LINK_SHLIB        = /home/pgs/toolChain/bin/arm-linux-gnueabihf-g++ -lts

# modifications to linux.conf
QMAKE_AR                = /home/pgs/toolChain/bin/arm-linux-gnueabihf-ar cqs
QMAKE_OBJCOPY           = /home/pgs/toolChain/bin/arm-linux-gnueabihf-objcopy
QMAKE_NM                = /home/pgs/toolChain/bin/arm-linux-gnueabihf-nm -P
QMAKE_STRIP             = /home/pgs/toolChain/bin/arm-linux-gnueabihf-strip
load(qt_config)

3. configure配置

不同的要求配置不一样,根据自己的需要查看./configure -h,我本次使用的配置如下:

#!/bin/sh

./configure \
--prefix=/home/pgs/Qt5.9.7_Arm \
-opensource \
-confirm-license \
-xplatform linux-arm-gnueabi-g++ \
-release \
-v \
-pch \
-sql-sqlite \
-qt-libjpeg \
-qt-zlib \
-qt-libpng \
-qt-freetype \
-no-glib \
-no-sse2 \
-no-cups \
-no-opengl \
-no-iconv \
-nomake examples \
-skip qtdoc \
-skip qtandroidextras \
-skip qtpurchasing \
-skip qtgamepad \
-skip qtsvg \
-skip qtwebchannel \
-skip qtwebengine \
-tslib \
-I/home/pgs/tslib1.19_Arm/include \
-L/home/pgs/tslib1.19_Arm/lib \

exit

QT官网的嵌入式配置例子:

./configure -release -opengl es2 -device linux-rasp-pi2-g++ -device-option CROSS_COMPILE=$TOOLCHAIN/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf- -sysroot $ROOTFS -prefix /usr/local/qt5

4. make编译

sudo make

5. 安装

sudo make install
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-10-30 12:50:22  更:2021-10-30 12:51:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 23:03:19-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码