QT5.4.2源码交叉编译

Qt5.14.2-Linux平台配置Qt Creator的ARM体系结构Linux交叉编译器 阅读详情
1. 环境
Ubuntu 16.04LTS 64bit
QT版本:qt-everywhere-opensource-src-5.4.2.tar.gz
交叉编译器:gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz(32位)
2. 配置交叉编译器
解压交叉编译器到/opt/linaro-arm-linux-gnueabihf/gcc-linaro-arm-linux-gnueabihf目录:
sudo tar -zxvf gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz -C /opt/linaro-arm-linux-gnueabihf/gcc-linaro-arm-linux-gnueabihf
设置环境变量:将交叉编译器目录设置到PATH环境变量中
打开配置文件:vi ~/.profile
在最后一行添加下面一段:
# cross complier
export PATH=/opt/linaro-arm-linux-gnueabihf/gcc-linaro-arm-linux-gnueabihf/bin:$PATH
对于64位系统来说,还需安装32位支持:gcc-6-base:i386、libc6:i386、libgcc1:i386、zlib1g:i386
sudo apt-get install gcc-6-base:i386 libc6:i386 libgcc1:i386 zlib1g:i386
可以通过如下命令检查交叉编译器是否安装成功:
arm-linux-gnueabihf-gcc -v
测试输出结果:

  
Using built-in specs. COLLECT_GCC=arm-linux-gnueabihf-gcc COLLECT_LTO_WRAPPER=/opt/linaro-arm-linux-gnueabihf/gcc-linaro-arm-linux-gnueabihf/bin/../libexec/gcc/arm-linux-gnueabihf/4.9.2/lto-wrapper Target: arm-linux-gnueabihf Configured with: /cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/src/gcc-linaro-4.9-2014.09/configure --build=i686-build_pc-linux-gnu --host=i686-build_pc-linux-gnu --target=arm-linux-gnueabihf --prefix=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/install --with-sysroot=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/install/arm-linux-gnueabihf/libc --enable-languages=c,c++,fortran --disable-multilib --enable-multiarch --with-arch=armv7-a --with-tune=cortex-a9 --with-fpu=vfpv3-d16 --with-float=hard --with-pkgversion='crosstool-NG linaro-1.13.1-4.9-2014.09 - Linaro GCC 4.9-2014.09' --with-bugurl=https://bugs.launchpad.net/gcc-linaro --enable-__cxa_atexit --enable-libmudflap --enable-libgomp --enable-libssp --with-gmp=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static --with-mpfr=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static --with-mpc=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static --with-isl=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static --with-cloog=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static --with-libelf=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static --enable-threads=posix --disable-libstdcxx-pch --enable-linker-build-id --enable-plugin --enable-gold --with-local-prefix=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/install/arm-linux-gnueabihf/libc --enable-c99 --enable-long-long --with-mode=thumb --disable-multilib --with-float=hard Thread model: posix gcc version 4.9.2 20140904 (prerelease) (crosstool-NG linaro-1.13.1-4.9-2014.09 - Linaro GCC 4.9-2014.09) 

3. 编译tslib
系统要求:需要安装autoconf automake libtool
sudo apt-get install autoconf automake libtool
tslib版本:tslib-1.12.tar.bz2 ( https://github.com/kergoth/tslib/tree/1.12 )
解压tslib:tar -jxf tslib-1.12.tar.bz2
进入tslib目录:cd tslib-1.12
设置编译器指令:
export CC=arm-linux-gnueabihf-gcc
export CXX=arm-linux-gnueabihf-g++
生成配置文件:./autogen.sh --host=arm-linux-gnueabihf
配置:
./configure --prefix=/opt/linaro-arm-linux-gnueabihf/tslib-1.12 --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf --enable-inputapi=yes ac_cv_func_malloc_0_nonnull=yes
注:--prefix:制定安装目录/opt/linaro-arm-linux-gnueabihf/tslib-1.12
--enable-inputapi=yes:为了解决编译过程“ts_open:Inappropriate ioctol for device”错误
ac_cv_func_malloc_0_nonnull=yes:为了解决编译过程“undefined reference to `rpl_malloc' ”错误
编译与安装:
make
make install
成功后在/opt/linaro-arm-linux-gnueabihf/tslib-1.12目录如下:
bin  etc  include  lib  share
4. 编译OpenSSL
OpenSSL版本:openssl-1.0.2.tar.bz2( https://github.com/openssl/openssl/tree/OpenSSL_1_0_2-stable )
注:目前稳定版本为1.1.0,不过由于1.1.0版本对1.0.*版本的兼容性不够,在编译QT的时候出错,固只能使用1.0.2版本。
解压OpenSSL:tar -jxf openssl-1.0.2.tar.bz2
进入OpenSSL目录:cd openssl-1.0.2
设置编译器指令:
export CC=arm-linux-gnueabihf-gcc
export AR=arm-linux-gnueabihf-ar
export RANLIB=arm-linux-gnueabihf-ranlib
配置:
TARGET=/opt/linaro-arm-linux-gnueabihf/openssl-1.0.2
./Configure --prefix=${TARGET} --openssldir=${TARGET} linux-armv4 -march=armv7-a shared
编译与安装:
make
make install
安装结果:/opt/linaro-arm-linux-gnueabihf/openssl-1.0.2目录下,如下:
bin  certs  include  lib  man  misc  openssl.cnf  private

5. 编译QT
QT版本:qt-everywhere-opensource-src-5.4.2.tar.gz
由于QT5.4.2支持的编译器如下:
没有 arm-linux-gnueabihf-g++,固需要手动建一份。将arm-linux-gnueabi-g++复制一份出来,编辑其中的qmake.conf配置文件,将文件中的arm-linux-gnueabi全部更改为arm-linux-gnueabihf。为了后续在编译QT应用程序时显示依赖tslib与openssl,在配置文件最后最后添加如下几行:
QMAKE_INCDIR += \
/opt/linaro-arm-linux-gnueabihf/tslib-1.12/include \
/opt/linaro-arm-linux-gnueabihf/openssl-1.0.2/include
QMAKE_LIBDIR += \
/opt/linaro-arm-linux-gnueabihf/tslib-1.12/lib \
/opt/linaro-arm-linux-gnueabihf/openssl-1.0.2/lib
QMAKE_LIBS += -lts -lssl -lcrypto
配置QT编译选项:
./configure \
-prefix /opt/linaro-arm-linux-gnueabihf/qt-5.4.2 \
-I /opt/linaro-arm-linux-gnueabihf/openssl-1.0.2/include \
-L /opt/linaro-arm-linux-gnueabihf/openssl-1.0.2/lib \
-xplatform linux-arm-gnueabihf-g++ \
-opensource \
-release \
-silent \
-shared \
-c++11 \
-openssl \
-no-iconv \
-linuxfb \
-nomake tests \
-nomake examples \
-nomake tools \
-v
编译与安装
make -j 2
make install
这个过程相对要长一些,这依赖于CPU的编译速度(几十分钟到几个小时)。
树莓派4B Qt5.14.2 Ubuntu20 交叉编译环境搭建教程 配套资源下载 树莓派4B Qt5.14.2 Ubuntu20 交叉编译环境搭建教程 firmware https://github.com/raspberrypi/firmware sysroot符号连接修复 https://raw.githubusercontent.com/riscv/riscv-poky/master/scripts/sysroot-relativelinks.py Qt5.14.2 https://download.qt.io/archive/qt/5.14/5.14.2.. 阅读详情

相关推荐

Orange Pi4 QT5开发环境搭建全攻略:从交叉编译到远程部署(附常见问题解决方案)

本文详细介绍了在PC机上为Orange Pi4搭建QT5开发环境的完整流程,涵盖交叉编译工具链配置、QT5库编译、Qt Creator IDE设置以及程序远程部署到开发板。文章重点解决了环境变量配置、权限问题和运行时常见错误,提供了从零开始到成功运行图形界面的实战指南,帮助开发者高效完成嵌入式QT开发环境搭建。

xxx12的博客 516

Linux下 Qt-5.14.2 交叉编译

Qt-5.14.2 交叉编译

jin787730090的博客 7090

qt-everywhere-opensource-src-5.2.1.tar

qt-everywhere-opensource-src-5.2.1.tar

linux上交叉编译qt库

Qt程序从X86平台Linux移植到ARM平台Linux需要做什么1.在ubuntu上使用qt的源码交叉编译出Qt库2.将编译好的库拷贝到开发板上并设置相应的环境变量(库路径啥的)前两步一劳永逸,做一次就行3.X86上写好程序代码,通过交叉工具链进行程序的交叉编译,(动态)链接交叉编译的Qt库,或者厂商提供的Qt-sdk(友善),总之不能直接用开发板文件系统里的Qt库,那个是在arm上运行的4.程序拷贝到开发板上运行。

colortztzztzt的博客 2065

百度飞桨+文心大模型实战:生成式AI工程师认证备考全攻略(含真题解析)

本文详细解析百度飞桨与文心大模型结合的生成式AI工程师认证备考策略,涵盖认证体系、学习路径、核心技能突破及真题分析。帮助开发者掌握大模型原理、飞桨平台操作和文心大模型应用,高效通过工信部与百度联合认证考试。

loss4bartender的博客 682

基于Dify构建银行智能客服:从意图识别到多RAG架构的实战解析

本文深入解析了如何利用Dify平台构建银行智能客服系统。从传统客服痛点出发,详细阐述了基于意图识别精准分类用户需求,并通过多RAG架构解决知识混淆问题,实现高效、准确的业务响应。文章重点介绍了结合工具调用实现业务流程自动化,并强调了数据本地化部署、内容安全过滤等银行级安全合规实践,为金融行业AI应用提供了实战指南。

yog99的博客 926

Ubuntu中完成Linux环境Qt源码交叉编译并配置Qt环境

Ubuntu下Linux环境编译Qt源码并配置Ubuntu下的Qt开发环境

qianniulaoren的博客 6773

【Macbook-Latex安装部署教程】【Win-Texlive镜像下载】【简单易上手】MacTex+Vscode/Texstudio

该教程记录自己在mac()上安装部署Latex环境的经验,整个教程操作简单,配置要求少,易上手。教程分成三部分:Mactex下载与安装,Vscode插件下载与配置文件修改,Texstudio安装。

sunriseOvO的博客 2567

嵌入式Qt | 如何交叉编译Qt模块

在硬件板卡提供商提供的嵌入式linux平台下的Qt环境中,很多时候会不太适合实际的开发场景:(1)可能一些Qt的模块不支持。这时候要么找厂家,要么自己编译。(2)在厂家提供的平台开发环境中,支持的东西太多,太杂,导致整个文件系统镜像太大。这时候为了减小根文件系统,往往需要自己集成和编译开发环境。(3)不同版本Qt编译构建出的库文件,一般会不兼容,需要针对特定版本进行交叉编译。本文主要是记录在Qt源码跨平台源码编译构建过程中的一些注意点以及自己的思考。

iriczhao的博客 5662

Matlab_Marr小波尺度变换图

多尺度的连续小波变换分解后时间尺度图 墨西哥Marr小波函数: %delta 小波变换尺度 %N     小波函数的长度 %s     原始信号 %g     原始信号某个尺度下的小波变化系数 function g=Singularity_Detection(delta,N,s); %保持信号长度 n=length(s); % 构造墨西哥小帽小波函数 for index_x=1

桔色小西瓜 6601

Office如何通过VSTO进行WORD插件开发?

VSTO(Visual Studio Tools for Office )是VBA的替代,是一套用于创建自定义Office应用程序的Visual Studio工具包。VSTO可以用Visual Basic 或者Visual C#扩展Office应用程序(例如Word、Excel、PPT)。本文通过VSTO进行Word插件开发总结,并进行记录。

【cacrle】的博客 7318

Qt5.2.1交叉编译,带tslib插件

Qt 交叉编译

MKNDG的专栏 7056

避坑指南:STM32CubeMX配置SDIO4bit模式时为什么卡在HAL_SD_ConfigWideBusOperation?

本文深入分析了使用STM32CubeMX配置SDIO 4位模式时,程序在HAL_SD_ConfigWideBusOperation函数处卡死的常见问题。文章从硬件连接、CubeMX配置、初始化序列及HAL库底层实现等多个维度剖析根源,并提供了从初始化流程优化到增强代码鲁棒性等实战解决方案,帮助开发者彻底解决这一棘手难题。

pca5navigator的博客 825

银河麒麟(V10)-arm版交叉编译-qt-5.13.2源码

目的 了解如何在x86架构电脑下进行arm程序的交叉编译 了解如何对qt源码程序的交叉编译 了解如何进行qt程序的交叉编译 在网上借鉴了很多大佬的分享,所以自己也总结一下自己经验,希望帮助更多的人 希望大佬积极纠错,大家共同成长 准备步骤   交叉编译要注意版本问题,主要是向目标机器(最终要运行程序的机器)看齐,多花一些时间把目标机器开发环境的版本搞清楚,找到对应版本的交叉编译链,后面的大方向大多是正确的。   这次目标机器搭载了银河麒麟(V10 注意不是V10 SP1),版本信息如下 Linux ve

lizequan的博客 8351

Open3D 点到面的ICP配准算法【2025最新版】

点到面的ICP(python版本)博客长期更新,本文最近一次更新时间为:2025年2月2日,代码已更新至Open3D 0.18.0版本。

点云侠的博客 38万+

Python 爬虫实战:亚马逊商品评论 + 评分抓取(情感分析数据预处理)

在电子商务领域,用户评论是了解产品口碑和市场反馈的重要渠道。亚马逊作为全球领先的电商平台,拥有海量的商品评论数据。本文将详细介绍如何使用 Python 编写爬虫程序,从亚马逊网站抓取商品评论和评分数据,并进行情感分析的数据预处理。

yansideyucsdn的博客 769

交叉编译 QT5.12.2

环境:Ubuntu 18.04 交叉编译器:gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu 开发板类型:rk3399 1.安装交叉编译器 下载gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu.tar.xz sudo tar jxvf gcc-linaro-7.4.1-2019.02-x86_64_...

fujh0324的博客 3121

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Linux下移植QT(2)---移植QT

准备:ubantu12.04 内核 3.0.8(最好用同样的内核,3.2.0时没成功)    交叉编译工具:arm-cortex_a8-linux-gnueabi-gcc-4.4.6    QT版本5.4.2   链接 步骤1:   $ mkdir Qt_arm_2 (我的存放压缩包目录)   将 qt-opensource-linux-x64-5.4.2.r...

dingtu6125的博客 372

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

交叉编译Qt源码环境移植问题详解

环境:Qt5.6.0(QT源码已交叉编译完成,内含qmake、libs、plugins)

qq_40148363的博客 266

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Ubuntu Qt 5.15.2 支持 aarch64

AArch64是ARMv8 架构的一种执行状态。为了更广泛地向企业领域推进,需要引入64 位构架。同时也需要在ARMv8 架构中引入新的AArch64 执行状态。AArch64 不是一个单纯的32 位ARM 构架扩展,而是ARMv8 内全新的构架,完全使用全新的A64 指令集。QT不需要过多的介绍,跨平台的开发框架,支持各种桌面程序开发,LINUX、Windows、Android、IOS…在前面尝试过让buildroot支持QT, 在Ubuntu上安装Qt并开发Android程序。

ansondroider的博客 2706

linux 移植qt,Linux下移植QT(2)---移植QT

准备:ubantu12.04 内核 3.0.8(最好用同样的内核,3.2.0时没成功)交叉编译工具:arm-cortex_a8-linux-gnueabi-gcc-4.4.6QT版本5.4.2链接: https://pan.baidu.com/s/1aKldfYu8E4xCPfbNv2rz2A 提取码: 9r4m步骤1:$ mkdir Qt_arm_2 (我的存放压缩包目录)将 qt-...

weixin_39603505的博客 520

从零构建嵌入式Qt图形界面:Qt5.14.2 + OpenGL ES2 在Jetson Nano的完整移植实践

本文详细介绍了在Jetson Nano上从零构建嵌入式Qt图形界面的完整实践,重点讲解了Qt5.14.2与OpenGL ES2的交叉编译过程。通过系统镜像配置、Qt编译参数优化及环境部署等关键步骤,帮助开发者高效实现高性能嵌入式GUI开发,特别适合工业HMI、医疗影像等应用场景。

weixin_30732487的博客 326

「linux」dm6446下Qt4.5.2移植笔记

QT 源码下载 官方下载地址:http://qt.nokia.com/downloads ftp的归档下载地址,这里有各种版本的源码下载: ftp://ftp.qt.nokia.com/qt/source/ Qt版本:qt-everywhere-opensource-src-4.5.2 主板:Davinci 6446 主机系统:ubuntu 12.10 交叉编译器:arm_v

luther24的专栏 996

linux 4.5 通用arm内核,qt embedded-linux 4.5.2+arm移植开发环境搭建全攻略

折腾了一天多,终于弄通了达到的效果是,无论当前你的PC Linux上已经安装的qt版本多么复杂实现 qt 4.5.2 在PC上模拟编译执行 + ARM上的qt embedded-linux 4.5.2交叉编译(tslib触屏支持)+直接使用Qt Creator在pc上开发PC、板子都能跑的程序实现以上功能,真的体会到Qt真TMD的,繁琐复杂又强大整个过程也是充满曲折的,网上资料概念上的误导无处不在...

weixin_33977645的博客 358

QT5.5.1移植到cubieborad教程

一、环境说明 -PC系统:ubuntu 14.04 x64 - 编译器:arm-none-linux-gnueabi-gcc4.8.3 - 开发平台:Cubieboard2-DualCard - 开发板系统:cubieez-cb2-bootcard-v2.2   二、下载源码 QT源码官网下载:http://download.qt.io/official_releases/qt/5.

培培哥的专栏 2089
上一篇: OpenGL多边形分格化
henrik_he
博客等级 码龄16年 36粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值