Ubuntu安装qt5.12.9以及配置交叉编译环境

1.简介

在ubuntu20.04下安装qt5.12.9,方便在电脑上调试正点原子STM32MP157下的qt程序。

2.交叉编译器

2.1下载

https://mirrors.tuna.tsinghua.edu.cn/armbian-releases/_toolchain/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar.xzhttps://mirrors.tuna.tsinghua.edu.cn/armbian-releases/_toolchain/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar.xz

2.2解压

sudo tar -xvf gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar

2.3安装

将解压出来的文件移到/usr/local/arm下

sudo cp -r gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf /usr/local/arm/

添加环境变量:在~/.bashrc中添加

export PATH=$PATH:/usr/local/arm/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/bin

再source

source ~/.bashrc

3.QT

3.1先安装桌面版本qt

Index of /archive/qt/5.12/5.12.9https://download.qt.io/archive/qt/5.12/5.12.9/

下载 qt-opensource-linux-x64-5.12.9.run 然后安装

sudo chmod 777 qt-opensource-linux-x64-5.12.9.run
./qt-opensource-linux-x64-5.12.9.run

3.2安装arm版本qt

  • step1 下载qt5.12.9源码qt-everywhere-src-5.12.9.tar.xz

Index of /archive/qt/5.12/5.12.9/singlehttps://download.qt.io/archive/qt/5.12/5.12.9/single/

解压

tar -xvf qt-everywhere-src-5.12.9.tar.xz
  • step2 修改配置文件
cd /qt-everywhere-src-5.12.9/qtbase/mkspecs/linux-arm-gnueabi-g++

 编辑qmake.conf , 替换为以下内容。(就是换成刚装的arm版本编译器)

#
# 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                = arm-none-linux-gnueabihf-gcc
QMAKE_CXX               = arm-none-linux-gnueabihf-g++
QMAKE_LINK              = arm-none-linux-gnueabihf-g++
QMAKE_LINK_SHLIB        = arm-none-linux-gnueabihf-g++

# modifications to linux.conf
QMAKE_AR                = arm-none-linux-gnueabihf-ar cqs
QMAKE_OBJCOPY           = arm-none-linux-gnueabihf-objcopy
QMAKE_NM                = arm-none-linux-gnueabihf-nm -P
QMAKE_STRIP             = arm-none-linux-gnueabihf-strip
load(qt_config)
  • step3 /qt-everywhere-src-5.12.9 下开终端输入以下指令,先输入o再输入y
./configure -xplatform linux-arm-gnueabi-g++ -no-opengl

ps:        这里不安装opengl是因为我电脑上没安装opengl

  • step4 sudo make -j16
  • step5 sudo make install

3.3配置qt

打开qt,点击工具->选项->kits , 先改编译器

  • 编译器

点击添加->GCC->C++ , 名称自己取,编译器路径复制以下

/usr/local/arm/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf-g++
  • Qt version

手动添加

/usr/local/Qt-5.12.9/bin/qmake
  • kits

compiler: 选择设置过的arm版本编译器

Qt version:选择设置过的arm版本Qt

PS:Qt 中 , cmake 库文件选择

默认是x86平台

if ("${CMAKE_CXX_COMPILER}" STREQUAL "/usr/local/arm/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf-gcc")
set(ADDLIB_PATH ${CMAKE_CURRENT_SOURCE_DIR}/lib/arm/)
target_link_libraries(your_project_name PRIVATE
        ${ADDLIB_PATH}/libxxx.so
        )
else()
set(ADDLIB_PATH ${CMAKE_CURRENT_SOURCE_DIR}/lib/x86/)
target_link_libraries(your_project_name PRIVATE
        ${ADDLIB_PATH}/libxxx.so
        )
endif()

你可能感兴趣的:(ubuntu,linux,stm32,qt5)