『heqingchun-ubuntu交叉编译arm版本Qt』

ubuntu交叉编译arm版本Qt

一、更新、安装基础依赖

sudo apt update && \
sudo apt upgrade -y && \
sudo apt install -y build-essential python

二、准备文件

1.新建目录

mkdir qt

2.下载文件

(1)gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.tar

网址

https://releases.linaro.org/components/toolchain/binaries/latest-7/aarch64-linux-gnu/

点击"gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz"下载
配置

tar -xvf gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.tar && \
sudo cp -fr gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu /opt/ && \
str='export PATH=/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin:"$"PATH' && \
sudo sh -c "echo $str >> /etc/profile" && \
source /etc/profile

重启后打开终端输入"aa",连续按两次"Tab"键,出现如下表示成功:

aa-enabled                       aarch64-linux-gnu-cpp            aarch64-linux-gnu-gcc-nm         aarch64-linux-gnu-gfortran       aarch64-linux-gnu-objdump        aa-status
aa-exec                          aarch64-linux-gnu-dwp            aarch64-linux-gnu-gcc-ranlib     aarch64-linux-gnu-gprof          aarch64-linux-gnu-ranlib         aa-teardown
aarch64-linux-gnu-addr2line      aarch64-linux-gnu-elfedit        aarch64-linux-gnu-gcov           aarch64-linux-gnu-ld             aarch64-linux-gnu-readelf        
aarch64-linux-gnu-ar             aarch64-linux-gnu-g++            aarch64-linux-gnu-gcov-dump      aarch64-linux-gnu-ld.bfd         aarch64-linux-gnu-size           
aarch64-linux-gnu-as             aarch64-linux-gnu-gcc            aarch64-linux-gnu-gcov-tool      aarch64-linux-gnu-ld.gold        aarch64-linux-gnu-strings        
aarch64-linux-gnu-c++            aarch64-linux-gnu-gcc-7.5.0      aarch64-linux-gnu-gdb            aarch64-linux-gnu-nm             aarch64-linux-gnu-strip          
aarch64-linux-gnu-c++filt        aarch64-linux-gnu-gcc-ar         aarch64-linux-gnu-gdb-add-index  aarch64-linux-gnu-objcopy        aa-remove-unknown
(2)qt-everywhere-src-5.12.9.tar.xz

网址

https://download.qt.io/archive/qt/5.12/5.12.9/single/

点击" qt-everywhere-src-5.12.9.tar.xz"下载
下载后解压"qt-everywhere-src-5.12.9.tar.xz"文件

三、安装依赖

1.终端apt依赖

sudo apt install -y gperf \
bison \
flex \
llvm \
libxcb* \
libxslt1-dev \
ruby \
libssl-dev \
libcap-dev \
libxtst-dev \
libpci-dev \
libnss3-dev \
libclang-6.0-dev

2.修改一些配置文件

修改以下文件

gedit qt-everywhere-src-5.12.9/qtbase/mkspecs/linux-aarch64-gnu-g++/qmake.conf

增加以下内容(在QMAKE_INCREMENTAL_STYLE = sublib与include(…/common/linux.conf)之间)

QT_QPA_DEFAULT_PLATFORM = linuxfb
QMAKE_CFLAGS_RELEASE += -O2 -march=armv8-a -lts
QMAKE_CXXFLAGS_RELEASE += -O2 -march=armv8-a -lts

在文件中的"aarch64-linux-gnu"加上具体路径,最后文件

#
# qmake configuration for building with aarch64-linux-gnu-g++
#

MAKEFILE_GENERATOR      = UNIX
CONFIG                 += incremental
QMAKE_INCREMENTAL_STYLE = sublib

QT_QPA_DEFAULT_PLATFORM = linuxfb
QMAKE_CFLAGS_RELEASE += -O2 -march=armv8-a -lts
QMAKE_CXXFLAGS_RELEASE += -O2 -march=armv8-a -lts

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

# modifications to g++.conf
QMAKE_CC                = /opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc
QMAKE_CXX               = /opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++
QMAKE_LINK              = /opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++
QMAKE_LINK_SHLIB        = /opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++

# modifications to linux.conf
QMAKE_AR                = /opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-ar cqs
QMAKE_OBJCOPY           = /opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-objcopy
QMAKE_NM                = /opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-nm -P
QMAKE_STRIP             = /opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-strip
load(qt_config)

将文件夹移动至/opt

sudo cp -fr qt-everywhere-src-5.12.9 /opt/

四、configure

cd /opt/qt-everywhere-src-5.12.9
sudo ./configure \
-prefix /opt/Qt5.12.9-arm \
-confirm-license \
-opensource \
-release \
-make libs \
-xplatform linux-aarch64-gnu-g++ \
-pch \
-qt-libjpeg \
-qt-libpng \
-qt-zlib \
-no-opengl \
-no-sse2 \
-no-cups \
-no-glib \
-no-dbus \
-no-xcb \
-no-separate-debug-info

五、编译安装

1.编译

sudo make -j $(nproc)

2.安装

sudo make install

六、配置Qt环境

打开Qt
依次点击“工具”,“选项”,“Kits”
需要配置:“编译器”、“Qt Versions”、“Kits”
1.“编译器”:
点击“添加”,“GCC”,“C”
名称填写:“AArch64GCC”
编译器路径选择:“/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc”
点击“Apply”
再点击“添加”,“GCC”,“C++”
名称填写:“AArch64G++”
编译器路径选择:“/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++”
点击“Apply”
2.“Qt Versions”
点击“添加”
选择:“/opt/Qt5.12.9-arm/bin/qmake”
点击“Apply”
3.“Kits”
点击“Add”
名称填写:“AArch64 Qt 5.12.9”
Compiler中“C”与“C++”选择上边对应的“AArch64GCC”与“AArch64G++”
Qt Version选择上边对应的“Qt 5.12.9(Qt5.12.9-arm)”
点击“Apply”
最后点击“OK”
ubuntu交叉编译arm版本Qt-完毕

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
要在linux-aarch64上安装OpenCV,您可以按照以下步骤进行操作: 1. 首先,下载交叉编译版本的OpenCV。您可以从引用\[1\]提供的链接下载gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.tar文件,并解压到您的目录(例如/home/heqingchun/soft/Arm/ArmOpenCV)。 2. 接下来,下载OpenCV的源代码和扩展包。您可以从官方网站下载opencv-4.5.5.zip和opencv_contrib-4.5.5.zip文件,并解压到同一个目录(例如/home/heqingchun/soft/Arm/ArmOpenCV/opencv-4.5.5)。 3. 在解压后的目录,创建一个名为build的文件夹,用于构建OpenCV。 4. 在build文件夹,使用cmake命令配置构建。根据您的目标处理器选择对应的工具链配置文件。例如,对于ARMv7处理器,可以使用以下命令: ``` cmake -D CMAKE_TOOLCHAIN_FILE="/path/to/opencv/platforms/linux/arm-gnueabi.toolchain.cmake" .. ``` 对于ARMv8处理器,可以使用以下命令: ``` cmake -D CMAKE_TOOLCHAIN_FILE="/path/to/opencv/platforms/linux/aarch64-gnu.toolchain.cmake" .. ``` 请注意,您需要将上述命令的"/path/to/opencv"替换为实际的OpenCV目录路径。 5. 在配置完成后,运行make命令编译OpenCV。 6. 如果在编译过程遇到错误,可以尝试将BUILD_opencv_freetype选项设置为OFF,以解决与freetype和harfbuzz库相关的错误。例如,可以使用以下命令: ``` cmake -D BUILD_opencv_freetype=OFF .. ``` 完成上述步骤后,您应该成功在linux-aarch64上安装了OpenCV。请根据您的实际需求进行进一步配置和使用。 #### 引用[.reference_title] - *1* *2* [交叉编译aarch64版本opencv-4.5.5(使用cmake-gui)](https://blog.csdn.net/heqingchun16/article/details/129054037)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [关于OpenCV安装](https://blog.csdn.net/zghforever/article/details/118492835)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

赫庆淳

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

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

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

打赏作者

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

抵扣说明:

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

余额充值