Qt教程3-Ubuntu(x86_64)上配置arm64(aarch64)交叉编译环境及QT编译arm64架构工程

这篇具有很好参考价值的文章主要介绍了Qt教程3-Ubuntu(x86_64)上配置arm64(aarch64)交叉编译环境及QT编译arm64架构工程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

写在前面

苦辣酸甜时光八载,春夏秋冬志此一生
Qt简介:
Qt(官方发音 [kju:t],音同 cute)是一个跨平台的 C++ 开发库,主要用来开发图形用户界面(Graphical User Interface,GUI)程序,当然也可以开发不带界面的命令行(Command User Interface,CUI)程序。
Qt 支持的操作系统有很多,例如通用操作系统 Windows、Linux、Unix,智能手机系统 Android、iOS、WinPhone, 嵌入式系统 QNX、VxWorks 等等。
Qt 虽然经常被当做一个 GUI 库,用来开发图形界面应用程序,但这并不是 Qt 的全部;Qt 除了可以绘制漂亮的界面(包括控件、布局、交互),还包含很多其它功能,比如多线程、访问数据库、图像处理、音频视频处理、网络通信、文件操作等,这些 Qt 都已经内置了。
在探索前期安装过程也是出现了星星点点的未知错误,摸黑探路,绕了许多弯路。
最近由于项目需要做国产系统适配,软件需要适配不同架构CPU!基于此特将经验寄予此文,望更多志同道合的朋友在这条探索的路上少走弯路,尽入主题!
环境:
PC系统:Ubutu20.04(x86_64架构) <本机>
Qt版本:Qt5.12.8(GCC 9.3.0,64bit) <本机>
Qt Creator 版本:4.11.0 <本机>
交叉编译器:gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu <本机>
国产系统:Kylin Linux Advanced Server release V10(4.19.90-25.10.v2101.ky10.aarch64) 部署环境<即arm64架构>
GCC:v8.3.0 部署环境<即arm64架构>

1. 查看系统架构相关指令

Ubutu 本机

uname
uname -a
uname -i
uname -r
lsb_release -a
lsb_release -i
lsb_release -r

makefile.gcc:12542: recipe for target 'gcc_mswu\baselib_filename.o' failed,Qt,Ubuntu,国产系统kylin,qt,ubuntu,架构,编辑器,arm开发,kylin
Kylin Linux 部署环境<即arm64架构>

uname
uname -a
uname -i
uname -r
nkvers

makefile.gcc:12542: recipe for target 'gcc_mswu\baselib_filename.o' failed,Qt,Ubuntu,国产系统kylin,qt,ubuntu,架构,编辑器,arm开发,kylin查看CPU核数,它会显示逻辑核心数:

lscpu
nproc

2. ARM64交叉编译器环境搭建

1) 选定编译工具: gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu <可选其他版本>
2) 源码安装交叉编译工具:
源码安装指定版本是为适配所部署的环境v8.3.0 ,笔者安装了指定版本,大家没有特殊需求可参考 3)指令安装交叉编译工具
①下载:
注1: 从arm Developer 下载指定版本编译器;
makefile.gcc:12542: recipe for target 'gcc_mswu\baselib_filename.o' failed,Qt,Ubuntu,国产系统kylin,qt,ubuntu,架构,编辑器,arm开发,kylin

注2: 这里还可以通过百度网盘下载v8.3.0
② 安装:
解压:

tar -xvf gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu.tar.xz

重命名:

mv  gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu aarch64-linux-gnu-8.3.0 

将目标复制到指定目录下:<一般复制到 /opt 目录下,笔者复制到 ~/path/go 目录下>

sudo cp -rf aarch64-linux-gnu-8.3.0/ /opt 

or

mkdir -p ~/path/go
cp -rf aarch64-linux-gnu-8.3.0/ ~/path/go 

然后在环境变量里 /etc/profile <笔者在此文件添加>或 ~/.bashrc 添加全局变量 <注意添加自己正确路径,笔者前面未重命名>
$PATH:后面路径为gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin的解压路径

sudo vim /etc/profile

#borrieguo add arm aarch64
export PATH=$PATH:~/path/go/gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin

makefile.gcc:12542: recipe for target 'gcc_mswu\baselib_filename.o' failed,Qt,Ubuntu,国产系统kylin,qt,ubuntu,架构,编辑器,arm开发,kylin

然后加载环境变量<添加在那个文件就source那个>

source /etc/profile

or

source ~/.bashrc

查看配置是否成功:输入aarch64 +TAB是否出现提示(有对应版本即表示配置成功):
makefile.gcc:12542: recipe for target 'gcc_mswu\baselib_filename.o' failed,Qt,Ubuntu,国产系统kylin,qt,ubuntu,架构,编辑器,arm开发,kylin
查看安装路径:

which aarch64-linux-gnu-gcc-8.3.0

makefile.gcc:12542: recipe for target 'gcc_mswu\baselib_filename.o' failed,Qt,Ubuntu,国产系统kylin,qt,ubuntu,架构,编辑器,arm开发,kylin

3) 指令安装交叉编译工具: 源码安装交叉编译工具和指令安装交叉编译工具选其中一个操作即可
指令安装自动适配本机合适版本,无需指定较为方便

sudo apt-get install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu

安装后验证下是否ok,直接输aarch64- 加Tab键如果能自动补全aarch64-linux-gnu-gcc那就问题不大。
查看版本信息:

aarch64-linux-gnu-gcc -v

能查到如下图所示,说明安装完成。
makefile.gcc:12542: recipe for target 'gcc_mswu\baselib_filename.o' failed,Qt,Ubuntu,国产系统kylin,qt,ubuntu,架构,编辑器,arm开发,kylin
查看安装路径:

which aarch64-linux-gnu-gcc

makefile.gcc:12542: recipe for target 'gcc_mswu\baselib_filename.o' failed,Qt,Ubuntu,国产系统kylin,qt,ubuntu,架构,编辑器,arm开发,kylin

4) 编译源码测试:
为了进一步验证交叉编译器环境搭建是否搭建成功,可进行编译源码进行验证测试。(可省略)
笔者验证的是一个C++程序。main.cpp 内容如下:

#include <iostream>

using namespace std;

int main()
{
    cout << "Hello World!" << endl;
    return 0;
}

main.cpp 源码编译成arm64可执行文件,指令如下:

aarch64-linux-gnu-g++ -o main main.cpp

编译通过后通过file指令查看文件类型是否是ELF:64bit LSB shared object,ARM aarch64...。如果是,则完成源码编译。

file main

makefile.gcc:12542: recipe for target 'gcc_mswu\baselib_filename.o' failed,Qt,Ubuntu,国产系统kylin,qt,ubuntu,架构,编辑器,arm开发,kylin
也可通过readelf -h指令查看文件系统架构是否是AArch64。如果是,则完成源码编译。

readelf -h main

makefile.gcc:12542: recipe for target 'gcc_mswu\baselib_filename.o' failed,Qt,Ubuntu,国产系统kylin,qt,ubuntu,架构,编辑器,arm开发,kylin

3. Qt编译arm64环境搭建

1) 选定Qt版本: 5.12.8 <可选其他版本>
2) Qt源码下载:
因为后面要在开发板上跑Qt程序,所以必须下载Qt源码包,然后用交叉编译工具进行编译,才能得到在目标平台上可以运行的Qt SDK。笔者本机上的Qt版本为Qt5.12.8(GCC 9.3.0,64bit) ,故下载Qt5.12.8的源码,目的就是在本机上构建两个Qt环境(x86_64和arm64)。实现在本机的PC上配置ARM64的编译环境,在本机的PC上编译完成后,配置Qt交叉编译环境,然后再用Qt编译自己写的代码,最后copy部署到ARM平台上运行即可。
注1:Qt官网下载地址
makefile.gcc:12542: recipe for target 'gcc_mswu\baselib_filename.o' failed,Qt,Ubuntu,国产系统kylin,qt,ubuntu,架构,编辑器,arm开发,kylin

注2:百度网盘下载v5.12.8

3) Qt源码安装:
①解压:
下载了qt-everywhere-src-5.12.8.tar.xz,然后通过xz命令解压出qt-everywhere-src-5.12.8.tar文件,再通过tar命令解压qt-everywhere-src-5.12.8.tar文件,得到文件夹:qt-everywhere-src-5.12.8。

xz -d qt-everywhere-src-5.12.8.tar.xz
tar -xvf qt-everywhere-src-5.12.8.tar

or

tar -xvf qt-everywhere-src-5.12.8.tar.xz

makefile.gcc:12542: recipe for target 'gcc_mswu\baselib_filename.o' failed,Qt,Ubuntu,国产系统kylin,qt,ubuntu,架构,编辑器,arm开发,kylin
②定义SDK安装路径
强烈不建议在Qt源码的目录下直接进行编译,那样会污染源码所在目录。建议在Qt源码所在的同级目录下,新建一个文件夹用来存放编译过程中产生的临时文件。一定要注意源码路径不能含有中文!
创建编译过程路径:

mkdir Qt-5.12.8-build

创建最终安装路径:

mkdir Qt-5.12.8-arm64

③安装
安装准备1)
打开 qt-everywhere-src-5.12.8/qtbase/mkspecs/linux-aarch64-gnu-g++/qmake.conf 配置文件,并修改为如下所示内容 ,因为一会我们要用到这个里面的内容,所以我们要先修改一下这里面的编译器。
根据自己的交叉编译器来进行编译修改,本机的交叉编译器为aarch64-linux-gnu-
如下所示:
makefile.gcc:12542: recipe for target 'gcc_mswu\baselib_filename.o' failed,Qt,Ubuntu,国产系统kylin,qt,ubuntu,架构,编辑器,arm开发,kylin
注:上面的qmake.conf文件中,如果Ubuntu有好多个交叉编译器,一定要在交叉编译器前面加绝对路径,不然就会像我一开始make的时候会出现“not found”这些错误,或者出现下面这些错误

Makefile:51: recipe for target ‘sub-corelib-make_first’ failed
make[2]: *** [sub-corelib-make_first] Error 2
make[2]: Leaving directory ‘~/path/qt/qt-everywhere-opensource-src-5.12.8/qtbase/src’
Makefile:46: recipe for target ‘sub-src-make_first’ failed
make[1]: *** [sub-src-make_first] Error 2
make[1]: Leaving directory ‘~/path/qt/qt-everywhere-opensource-src-5.12.8/qtbase’
Makefile:77: recipe for target ‘module-qtbase-make_first’ failed
make: *** [module-qtbase-make_first] Error 2

安装准备2)
进入Qt-5.12.8-build文件夹执行configure

./../qt-everywhere-src-5.12.8/configure -prefix /home/airobot/path/qt/Qt-5.12.8-arm64 -make libs -xplatform linux-aarch64-gnu-g++  -skip qtdeclarative -no-opengl

说明:
-prefix 代表你的安装文件夹,即上面定义的最终安装路径,注意目录要对应;
-xplatform 代表你所制定的编译器;
-no-opengl -no表示不编译该模块;跳过编译openGL(因为我已经安装了Qt,所以不需要界面);
-skip qtdeclarative 跳过 qtdeclarative编译;
其它参数:
-opensource 编译开源版 -commercial 编译商业版 (参数可选);
-static 生成静态库.a文件 -shared 生成动态库so文件 (参数可选,默认是shared)注:静态库与动态库区别是在生成目标文件的链接方式上,静态库采用静态链接,在生成的目标文件(如执行文件)中会包含库文件代码,而动态库在程序编译时并不会被连接到目标代码中,而是在程序运行时才被载入。
-force-debug-info 强制生成调试信息 (参数可选) 这个参数是让Qt release版本也生成.pdb文件。这个文件有什么作用呢?它就是我们在release版本下设置了异常捕获信息函数,打印出错堆栈信息所必须的文件。如果程序没用开启异常捕获选项,是不需要开启这个参数的。
-opengl dynamic 指定opengl库 (参数可选)
OpenGL(全写Open Graphics Library)是指定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口。它用于三维图像(二维的亦可),是一个功能强大,调用方便的底层图形库。 OpenGL™ 是行业领域中最为广泛接纳的 2D/3D 图形 API,其自诞生至今已催生了各种计算机平台及设备上的数千优秀应用程序。 OpenGL™ 是独立于视窗操作系统或其它操作系统的,亦是网络透明的。在包含CAD、内容创作、能源、娱乐、游戏开发、制造业、制药业及虚拟现实等行业领域中,OpenGL™ 帮助程序员实现在 PC、工作站、超级计算机等硬件设备上的高性能、极具冲击力的高视觉表现力图形处理软件的开发。
-skip 跳过该模块
-nomake 不编译该模块
-mp 启动多核编译
注:-skip和-nomake都可省略,但是-skip qtdeclarative这个参数不能省略,qtdeclarative模块有需要依赖的库,这里不跳过编译会失败。
如果有别的需求,可以./configure -help查看具体命令

makefile.gcc:12542: recipe for target 'gcc_mswu\baselib_filename.o' failed,Qt,Ubuntu,国产系统kylin,qt,ubuntu,架构,编辑器,arm开发,kylin

也可使用“vim autoconfigure.sh”命令,新建“autoconfigure.sh”脚本,然后我们需要用 configure 生成下 Makefile,因为命令比较长,我们一般都是创建一个脚本,然后执行我们这个脚本生成 Makefile。
autoconfigure.sh 如下:

#!/bin/sh
#export PATH=$PATH:~/path/go/gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin
./../qt-everywhere-src-5.12.8/configure -prefix ~/path/qt/Qt-5.12.8-arm64 \
#-static \
#-release \
-opensource \
-make libs \
-xplatform linux-aarch64-gnu-g++ \
#-optimized-qmake \
#-pch \
#-qt-libjpeg \
#-qt-zlib \
-no-opengl \
#-skip qt3d \
#-skip qtcanvas3d \
#-skip qtpurchasing \
#-no-sse2 \
#-no-sse3 \
#-no-ssse3  \
#-no-sse4.1 \
#-no-sse4.2  \
#-no-avx \
#-no-avx2 \
#-no-mips_dsp \
#-no-mips_dspr2 \
#-qt-zlib \
#-no-openssl \
#-no-xcb 	\
#-no-cups \
#-no-iconv \
#-no-evdev  \
#-no-icu  \
#-no-fontconfig \
#-nomake examples \
#-nomake tools \
#-skip qtvirtualkeyboard \
#-qpa linuxfb	\
#-no-opengl \
#-no-libinput \
#-no-gstreamer \
#-no-system-proxies \
#-no-slog2  \
#-no-lgmon \
#-linuxfb \
#-v \
#-qt-libjpeg \
#-qt-libpng 	\
#-no-libproxy \
#-no-dbus	\
#-no-glib	\
#-no-compile-examples \
-skip qtdeclarative \

修改权限:

sudo chmod +x autoconfigure.sh 

执行脚本:

./autoconfigure.sh

makefile.gcc:12542: recipe for target 'gcc_mswu\baselib_filename.o' failed,Qt,Ubuntu,国产系统kylin,qt,ubuntu,架构,编辑器,arm开发,kylin

提示选择版本,输入o,回车
makefile.gcc:12542: recipe for target 'gcc_mswu\baselib_filename.o' failed,Qt,Ubuntu,国产系统kylin,qt,ubuntu,架构,编辑器,arm开发,kylin

询问是否接受协议,输入y,回车
makefile.gcc:12542: recipe for target 'gcc_mswu\baselib_filename.o' failed,Qt,Ubuntu,国产系统kylin,qt,ubuntu,架构,编辑器,arm开发,kylin

安装准备3)
编译及安装

大概编译十来分钟

make -j4 2>&1 | tee build.log

makefile.gcc:12542: recipe for target 'gcc_mswu\baselib_filename.o' failed,Qt,Ubuntu,国产系统kylin,qt,ubuntu,架构,编辑器,arm开发,kylin

make install

makefile.gcc:12542: recipe for target 'gcc_mswu\baselib_filename.o' failed,Qt,Ubuntu,国产系统kylin,qt,ubuntu,架构,编辑器,arm开发,kylin

完成后进入~/path/qt/Qt-5.12.8-arm64/lib路径,可以查看文件属性。系统架构为AArch64

readelf -h libQt5DBus.so

makefile.gcc:12542: recipe for target 'gcc_mswu\baselib_filename.o' failed,Qt,Ubuntu,国产系统kylin,qt,ubuntu,架构,编辑器,arm开发,kylin

这就是我们需要的东西,到时候拷贝到开发板makefile.gcc:12542: recipe for target 'gcc_mswu\baselib_filename.o' failed,Qt,Ubuntu,国产系统kylin,qt,ubuntu,架构,编辑器,arm开发,kylinmakefile.gcc:12542: recipe for target 'gcc_mswu\baselib_filename.o' failed,Qt,Ubuntu,国产系统kylin,qt,ubuntu,架构,编辑器,arm开发,kylin

4. 配置 Qt的本地aarch64交叉编译器

1) 编译器(Compliers)配置:

makefile.gcc:12542: recipe for target 'gcc_mswu\baselib_filename.o' failed,Qt,Ubuntu,国产系统kylin,qt,ubuntu,架构,编辑器,arm开发,kylinmakefile.gcc:12542: recipe for target 'gcc_mswu\baselib_filename.o' failed,Qt,Ubuntu,国产系统kylin,qt,ubuntu,架构,编辑器,arm开发,kylin
编译器(Compliers)安装完交叉编译工具,系统能自动找到。如果找不到需要自己通过添加(Add)按钮添加

which aarch64-linux-gnu-gcc
which aarch64-linux-gnu-g++

添加步骤:
C++编译器
makefile.gcc:12542: recipe for target 'gcc_mswu\baselib_filename.o' failed,Qt,Ubuntu,国产系统kylin,qt,ubuntu,架构,编辑器,arm开发,kylinmakefile.gcc:12542: recipe for target 'gcc_mswu\baselib_filename.o' failed,Qt,Ubuntu,国产系统kylin,qt,ubuntu,架构,编辑器,arm开发,kylin
配置完成通过Apply按钮应用生效。
C编译器
makefile.gcc:12542: recipe for target 'gcc_mswu\baselib_filename.o' failed,Qt,Ubuntu,国产系统kylin,qt,ubuntu,架构,编辑器,arm开发,kylinmakefile.gcc:12542: recipe for target 'gcc_mswu\baselib_filename.o' failed,Qt,Ubuntu,国产系统kylin,qt,ubuntu,架构,编辑器,arm开发,kylin
配置完成通过Apply按钮应用生效。

2) Qt版本(Qt Versions)配置:

Qt Versions需要添加一个自定义的版本,qmake需要刚编译安装后的qmake

makefile.gcc:12542: recipe for target 'gcc_mswu\baselib_filename.o' failed,Qt,Ubuntu,国产系统kylin,qt,ubuntu,架构,编辑器,arm开发,kylin

配置完成通过Apply按钮应用生效。

3) 构建套件(Kit)配置:
Kit需要选择好自己新添加的Qt Version和编译器。
makefile.gcc:12542: recipe for target 'gcc_mswu\baselib_filename.o' failed,Qt,Ubuntu,国产系统kylin,qt,ubuntu,架构,编辑器,arm开发,kylin
配置完成通过Apply按钮应用生效,通过OK按钮配置完成。

5. 工程建立及编译验证

新建工程,并选择上面配置的构建套件(Kit)
makefile.gcc:12542: recipe for target 'gcc_mswu\baselib_filename.o' failed,Qt,Ubuntu,国产系统kylin,qt,ubuntu,架构,编辑器,arm开发,kylin

编译后得到可执行文件:

makefile.gcc:12542: recipe for target 'gcc_mswu\baselib_filename.o' failed,Qt,Ubuntu,国产系统kylin,qt,ubuntu,架构,编辑器,arm开发,kylin
可执行文件为ARM aarch64架构,验证成功!

至此,恭喜您!Qt的交叉编译环境已成功安装,可以开始使用了!!!
下一个教程将讲述: Qt教程4-Ubuntu(x86_64)上用QEMU建立arm64(aarch64)的模拟开发环境,让您编译的ARM aarch64架构的程序在本机能够实现运行验证!
后续教程还将讲述: Qt教程5-Ubuntu(x86_64)上交叉编译的QT程序SSH直接部署到远程国产系统(ARM aarch64架构),让您在本机Qt开发的ARM aarch64架构程序,通过配置 Qt的SSH aarch64交叉编译器,从而共享所要部署的环境来直接在本机Qt上实现运行验证!

感谢阅读,我是汇创慧玩,希望文章能够解决您的问题。
事为之,须极致!文章来源地址https://www.toymoban.com/news/detail-818041.html

到了这里,关于Qt教程3-Ubuntu(x86_64)上配置arm64(aarch64)交叉编译环境及QT编译arm64架构工程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ubuntu x86搭建 麒麟arm QT6交叉编译

    近期项目需求开发平台是unbuntu x86,目标机器是UOS arm架构,由于需要在不同平台上使用程序,需要建立基于QT6.32的交叉编译平台 交叉编译器 https://blog.csdn.net/zhang421412170/article/details/110952705 下载 gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu.tar.xz(因为我这里用的是linux平台进行编译,需要

    2024年02月13日
    浏览(47)
  • QT5交叉编译保姆级教程(arm64、mips64)

    什么是交叉编译? 简单说,就是在当前系统平台上,开发编译运行于其它平台的程序。 比如本文硬件环境是x86平台,但是编译出来的程序是在arm64架构、mips64等架构上运行 本文使用的操作系统:统信UOS家庭版22.0 一、安装QT5: 二、安装编译所需的组件 #安装python环境(QT中的

    2024年02月05日
    浏览(51)
  • debian 11 arm64 aarch64 D2000 平台编译 box86 box64 笔记

    参考资料 https://github.com/ptitSeb/box86/blob/master/docs/COMPILE.md 源码地址 GitHub - ptitSeb/box86: Box86 - Linux Userspace x86 Emulator with a twist, targeted at ARM Linux devices deb在线源地址(打不开): Itai\\\'s box86 apt repo 源码编译 apt install gcc-arm-linux-gnueabihf mkdir build; cd build; cmake .. -DPHYTIUM=1 -DCMAKE_BUILD_TY

    2024年01月16日
    浏览(51)
  • ubuntu 20.04 aarch64 平台交叉编译 opencv

    win10 64 位 VMware Workstation Pro 16 虚拟机 虚拟机安装 ubuntu 20.04 opencv 版本: 来自 github 当前最新 4.7 交叉编译 opencv,用于 嵌入式 aarch64 平台 可以直接从 github 下载 release 版本或者 使用 git clone 最新的 opencv 仓库 github opencv https://github.com/opencv/opencv git clone https://github.com/opencv/openc

    2024年02月09日
    浏览(67)
  • X86架构下交叉编译arm64源代码

    glibc在/lib(/lib32 /lib64)目录下的.so文件为libc.so.6 glibc是GNU发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。由于 glibc 囊括了几乎所有

    2023年04月21日
    浏览(53)
  • ubuntu 20.04 aarch64 平台交叉编译 opencv 静态库

    win10 64 位 VMware Workstation Pro 16 虚拟机 虚拟机安装 ubuntu 20.04 opencv 版本: 来自 github 当前最新 4.7 交叉编译 opencv 生成静态库(.a),用于 嵌入式 aarch64 平台。 参考上一篇 ubuntu 20.04 aarch64 平台交叉编译 opencv 默认会生成 动态库(so),可以通过cmake 配置 -DBUILD_SHARED_LIBS=OFF 关闭动

    2024年02月08日
    浏览(63)
  • Qt5.9 Ubuntu18.04-64位交叉编译目标机为Ubuntu18.04-arm-32位基于RK3288

    文章目录 一、需要准备的材料 二、操作步骤 1.更新软件源 2.安装环境依赖 3.搭建交叉编译环境 4.编译QT 5.安装Qt creator 6.配置Qt kit 三.测试 前言 本文使用VMware虚拟机作为Ubuntu系统载体,采用Ubuntu18.04-64位镜像作为QT编译环境,采用RK3288搭载Ubuntu18.04-arm-32作为QT执行环境。 ① 交

    2024年02月17日
    浏览(48)
  • Linux conan+cmake管理的项目如何进行多架构编译(x86_64及交叉编译arm64)

    Conan 和 CMake 是两个非常流行的跨平台开发工具,它们可以让开发者轻松管理依赖和构建项目,支持多种操作系统和架构。下面是一些关于 conan 和 cmake 的介绍: Conan Conan 是一个用于管理 C++ 依赖项的开源工具。它可以从公共或私有存储库中自动下载和安装依赖项。Conan 可以轻

    2024年02月09日
    浏览(47)
  • 3:Ubuntu上配置QT交叉编译环境并编译QT程序到Jetson Orin Nano(ARM)

       GCC配置同上   最后配置Kits 上面设置完成之后 ,设置Kits 中的Device(这是为了能够直接把项目部署到arm设备上)      点击NEXT之后会出现连接被拒绝,不用担心 ,下面会对其设置密码。 验证arm设置的密码。                 代码: 此代码是抄的别人的,具体是哪位博主的

    2024年02月11日
    浏览(47)
  • 在Linux、Ubuntu中跨平台编译ARM(AARCH64)平台的binutils

    Binutils 是GNU(https://www.gnu.org/)提供的一组二进制工具的集合。通常,在已经安装了Linux操作系统的个人电脑上,系统就已经自带了这个工具集。但在进行嵌入式开发的时候,可能会用到支持ARM64平台的Binutils,这时就需要用到交叉编译。 此前,在【1】我们已经介绍过Ubuntu中交

    2024年02月05日
    浏览(80)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包