瑞芯微Rockchip开发者社区
直播中

张敏

7年用户 1564经验值
私信 关注
[问答]

ubuntu16.04如何移植Qt程序到开发板?

ubuntu16.04如何移植Qt程序到开发板

回帖(1)

成尔秩

2022-3-3 14:02:40
< >
                    一、开发环境

主机:ubuntu16.04

目标机:firefly

二、ubuntu16.04下安装QT Creator

1、下载安装包,并拷贝到虚拟机下

本人使用  qt-opensource-linux-x64-5.8.0.run



2、安装qt

(1)执行 ./qt-opensource-linux-x64-5.8.0.run

(2)接下来按照安装导向即可完成安装

参考我之前的博客:https://blog.csdn.net/kenjianqi1647/article/details/80151932

新建一个项目测试安装是否成功

三、下载编译用于Arm linux的Qte库,完成Ubuntu下嵌入式Qt开发环境搭建

1、搭建arm-linux交叉编译环境

本人使用:arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

下载地址:https://www.veryarm.com/arm-none-linux-gnueabi-gcc

(1)复制到虚拟机下

(2)解压到当前目录下

tar -xjvf arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2  
解压之后拷贝到usr目录下

sudo cp -rvf arm-2014.05 /usr

(3)把编译器路径加入系统环境变量

vim /etc/environment
打开.bashrc之后,文件的最后一行添加

export PATH=$PATH:/usr/arm-2014.05/bin”

保存并关闭

(4)更新环境变量

source /etc/environment
测试是否安装成功

输入arm- 再按tab键



交叉编译工具安装成功

四、移植Qte库到开发板上,完成Arm linux开发板的Qt程序运行环境搭建

1、下载qt-everywhere-opensource-src-5.8.0.tar.gz

下载地址:http://download.qt.io/archive/qt/5.8/5.8.0/

2、解压该文件

tar -xzvf qt-everywhere-opensource-src-5.8.0.tar.gz
复制文件到一个新的目录

sudo cp -rvf qt-everywhere-opensource-src-5.8.0 /usr/qt-arm/

进入以下目录

/usr/qt-arm/qt-everywhere-opensource-src-5.8.0/qtbase/mkspecs/linux-arm-gnueabi-g++$
执行

sudo vim qmake.conf  
3、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                = arm-none-linux-gnueabi-gcc
QMAKE_CXX               = arm-none-linux-gnueabi-g++
QMAKE_LINK              = arm-none-linux-gnueabi-g++
QMAKE_LINK_SHLIB        = arm-none-linux-gnueabi-g++

# modifications to linux.conf
QMAKE_AR                = arm-none-linux-gnueabi-ar cqs
QMAKE_OBJCOPY           = arm-none-linux-gnueabi-objcopy
QMAKE_NM                = arm-none-linux-gnueabi-nm -P
QMAKE_STRIP             = arm-none-linux-gnueabi-strip
load(qt_config)

4、配置源码

进入源码文件下直到找到configure,执行下面语句

sudo ./configure -release -opensource -confirm-license -xplatform linux-arm-gnueabi-g++ -prefix /usr/qt-arm-nomake examples -no-opengl -no-iconv -silent -qpa linuxfb -no-gtk -qt-libjpeg -qt-libpng

sudo ./configure -prefix /usr/qt-arm -xplatform linux-arm-gnueabi-g++  -no-libproxy  -release -no-glib -gui -widgets -qt-libjpeg -qt-libpng -no-pch -no-opengl -no-openssl -no-xinput2 -no-xcb-xlib -nomake tools -nomake tests -nomake examples -opensource -qt-sqlite -continue -dbus

./configure -prefix $PWD/qtbase -opensource -xplatform arm-none-linux-gnueabi-g++ -no-opengl -nomake examples   
  config文件内容详解



以上在配置的时候总是出错,尝试使用方法二

方法二:此方法首先重新设置第三步

使用arm-linux-gnueabihf-gcc编译器

1、下载解压编译器

下载地址:https://pan.baidu.com/s/1pJ2rdkZ?errno=0&errmsg=Auth%20Login%20Sucess&&bduss=&ssnerror=0&traceid=

下载完成后为 tar.xz文件,此文件分两步解压

xz -d gcc-linaro-arm-linux-gnueabihf-4.9-2014.07_linux.tar.xz
tar -xvf gcc-linaro-arm-linux-gnueabihf-4.9-2014.07_linux.tar

2、解压之后复制

sudo sudo cp -rvf gcc-linaro-arm-linux-gnueabihf-4.9-2014.07_linux /usr/qt-arm/

3、配置到环境变量

vim /etc/environment
打开.bashrc之后,文件的最后一行添加

export PATH=$PATH:/usr/qt-arm/gcc-linaro-arm-linux-gnueabihf-4.9-2014.07_linux/bin”

4、更新环境变量

source /etc/environment
5、修改qt支持arm-linux-gnueabihf交叉编译工具

cd /usr/qt-arm/qt-everywhere-opensource-src-5.8.0/qtbase/mkspecs/linux-arm-gnueabi-g++$
sudo vim qmake.conf
按照以下修改并保存

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

# modifications to linux.conf
QMAKE_AR                = arm-linux-gnueabihf-ar cqs
QMAKE_OBJCOPY           = arm-linux-gnueabihf-objcopy
QMAKE_NM                = arm-linux-gnueabihf-nm -P
QMAKE_STRIP             = arm-linux-gnueabihf-strip
load(qt_config)
~                                                                                                                                                                                                           
~               
6、配置qt

源码文件下执行

sudo ./configure -prefix $PWD/qtbase -opensource -xplatform linux-arm-gnueabihf-g++ -no-opengl -nomake examples  
出现了上面同样的错误:

再一次配置环境变量

sudo vim ~/.bashrc  
最后一行添加:export PATH=$PATH:/usr/qt-arm/gcc-linaro-arm-linux-gnueabihf-4.9-2014.07_linux/bin

source ~/.bashrc  
export QMAKESPEC=/usr/qt-arm/qt-everywhere-opensource-src-5.8.0/qtbase/mkspecs/linux-g++
举报

更多回帖

发帖
×
20
完善资料,
赚取积分