搭建Qt5.7.1+kylinV10开发环境、运行环境

1.下载Qt源码

Index of /

2.编译Qt

解压缩qt-everywhere-opensource-src-5.7.1.tar.gz

进入到qt-everywhere-opensource-src-5.7.1/qtbase/mkspecs这个目录下,

2.1找到以下目录

复制他,然后改名linux-x86-arrch64,博主这里名字取的有些问题,建议自定义名称。

进入到目录下,更改qmake.conf内容

指定编译工具链的路径

cpp 复制代码
#
# 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                = /home/fmsh/work/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc
QMAKE_CXX               = /home/fmsh/work/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++
QMAKE_LINK              = /home/fmsh/work/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++
QMAKE_LINK_SHLIB        = /home/fmsh/work/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++

# modifications to linux.conf
QMAKE_AR                = /home/fmsh/work/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-ar cqs
QMAKE_OBJCOPY           = /home/fmsh/work/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-objcopy
QMAKE_NM                = /home/fmsh/work/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-nm -P
QMAKE_STRIP             = /home/fmsh/work/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-strip
load(qt_config)

2.2返回qt-everywhere-opensource-src-5.7.1/目录下,创建shell脚本,生成makefile。

创建qt.sh脚本,编译内容如下:

-prefix /home/fmsh/work/Qt-5.7.1-x86_64_aarch64/ 指定make install后的路径。

-xplatform linux-x86-arrch64 指定2.1步骤中创建的文件夹名称。

cpp 复制代码
#!/bin/sh
 
./configure \
		-prefix /home/fmsh/work/Qt-5.7.1-x86_64_aarch64/ \
		-release \
		-opensource \
		-make libs \
		-xplatform linux-x86-arrch64 \
		-optimized-qmake \
		-pch \
		-linuxfb \
		-qt-libjpeg \
		-qt-zlib \
		-no-glib \
		-no-opengl \
		-no-sse2 \
		-no-cups \
		-no-iconv \
		-no-accessibility \
		-skip qt3d \
		-skip qtcanvas3d \
		-skip qtpurchasing \
		-skip qtactiveqt \
		-skip qtandroidextras \
		-skip qtcharts \
		-skip qtconnectivity \
		-skip qtdatavis3d \
		-skip qtdeclarative \
		-skip qtgamepad \
		-skip qtvirtualkeyboard \
		-nomake examples \
		-nomake tools \
		-nomake tests
 
exit

2.3保存,执行sh qt.sh命令,生成makefile文件

执行make -j8,开始编译,还是比较顺利,中途没有报错。

sudo make install 安装编译好的库。

3.配置交叉编译环境

第2步中,已经编译好Qt的库了,需要在QtCreator中进行配置

3.1选择标签 编译器,按下图设置,选择 C 交叉编译器,如下图所示:添加编译器的路径。

3.2切换到 Qt Versions 标签,点击"添加"按钮,选择 qmake,如下图所示:

3.3切换到 Kits 标签,点击"添加"按钮,然后设置如下图所示:

Qt 环境构建成功后,通常会在上图所示显示一黄色的小的 三角符+感叹号 。

4.准备板端Qt运行环境

使用tar压缩Qt编译好的库,防止复制粘贴断链。

打包成tar包

将编译好的可执行程序和需要的插件打包放在一个路径下,如下图所示。

将上面的目录拷贝到板端

我将目录拷贝到板端的 /data 目录下。

编辑start.sh脚本,配置Qt运行环境,内容如下。

cpp 复制代码
#!/bin/bash
FILE=/data/lib
if [ -d "$FILE" ]; then
    echo "$FILE is exist"
else
    echo "$FILE does not exist start compress..."
    tar -zxvf /data/lib.tar.gz
fi

export QT_ROOT=/data
export QT_QPA_PLATFORM_PLUGIN_PATH=$QT_ROOT/plugins
export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0
export QT_PLUGIN_PATH=$QT_ROOT/plugins
export QT_LIBRARY_PATH=$QT_ROOT/lib:$QT_ROOT/plugins/platforms

export LD_LIBRARY_PATH=$QT_LIBRARY_PATH

chmod u+x /data/RemoteControl
/data/RemoteControl

运行程序:

cpp 复制代码
sh start.sh
相关推荐
cccc来财13 分钟前
Go中的协程并发和并发panic处理
开发语言·后端·golang
筏.k13 分钟前
grep、wc 与管道符快速上手指南
linux
狐凄16 分钟前
Python实例题:Python计算线性代数
开发语言·python·线性代数
Johny_Zhao18 分钟前
华为MAAS、阿里云PAI、亚马逊AWS SageMaker、微软Azure ML各大模型深度分析对比
linux·人工智能·ai·信息安全·云计算·系统运维
CodeOfCC27 分钟前
c语言 封装跨平台线程头文件
linux·c语言·windows
科文小白狼29 分钟前
Linux下VSCode开发环境配置(LSP)
linux·vscode·里氏替换原则·lsp
jllws140 分钟前
Qt学习及使用_第1部分_认识Qt---学习目的及技术准备
qt·c++框架
惊鸿一博1 小时前
java_网络服务相关_gateway_nacos_feign区别联系
java·开发语言·gateway
Bruce_Liuxiaowei1 小时前
深入理解PHP安全漏洞:文件包含与SSRF攻击全解析
开发语言·网络安全·php
成工小白1 小时前
【C++ 】智能指针:内存管理的 “自动导航仪”
开发语言·c++·智能指针