关于交叉编译移植到Debian开发板的一些随笔

接收的Qt项目,需要移植到Debian开发板运行。

首先在虚拟机上安装了交叉编译环境,编译产生可执行文件。

在虚拟机用ldd命令查看所依赖库,报错***不是二进制可执行文件,原因:环境不同,aarch64的环境下的可执行文件不能在linux下使用。尝试了一些打包所有静态库的方法,检索到的库为空,难搞。

直接拷贝可执行文件到开发板,执行,有点效果,但是功能不全,有登录界面,之后闪退,报错提示,缺少一些库,比如libqt***.so等等。

用ldd指令查看依赖库,可以列出所有所需库,再用sudo find / *name* 查看系统中库的位置(没有则安装),编辑~/.bashrc文件,export libbararypath,export qtpluginpath,激活使其生效。

继续执行程序,看是否useful,提示还是缺少数据库驱动,本人使用的开发板为麒麟架构,厂家已经安装了两个版本的qt,4.10.11和5.14.10,本人的交叉编译环境qt是5.12.10,原以为可能版本不一致导致,做过尝试,将虚拟机下的数据库驱动文件复制到开发板,ldd显示已连接,但运行显示qt版本库不兼容问题,网上说法众多,大体意思是重交叉编译,产生一个所需版本的数据库驱动文件,拷贝到开发板使用。

前段时间被搭建交叉编译搞的很烦,又长又慢,不想重弄,就自己摸索。

尝试了如下方法:

cpp 复制代码
1、打开终端

2、更新系统的包列表
sudo apt update

3、安装QT5默认组件
sudo apt install qt5-default

4、如果缺少额外的qt模块,搜索继续安装
apt search qt5

5、安装缺少模块,比如libqt5webengine7
sudo apt install libqt5webengine7

6、如果要装qt creator ide
sudo apt install qtcreator

success!

相关推荐
你又食言了哦4 分钟前
qt上设置 WebAssembly显示中文
开发语言·qt·wasm
茉莉玫瑰花茶20 分钟前
线程同步与互斥(下)
linux·数据库
周不易1 小时前
ubuntu20.04+qt5.12.8安装serialbus
开发语言·c++·qt·modbus·serialbus
wusam1 小时前
Linux系统管理与编程12: FTP服务配置
linux·运维·服务器
嘤国大力士1 小时前
C++11&QT复习 (十七)
开发语言·c++·qt
开发小能手-roy1 小时前
在Ubuntu服务器上安装Docker(支持Ubuntu 20.04/22.04等版本):
linux·ubuntu·docker
Thenunaoer1 小时前
【Ubutun】 在Linux Yocto的基础上去适配4G模块
linux·运维·chrome
Linux运维老纪1 小时前
GitLab之搭建(Building GitLab)
linux·mysql·云计算·gitlab·运维开发
周Echo周2 小时前
7、linux基础操作2
linux·运维·服务器
Spiffo_Sir2 小时前
【Spiffo】光速项目:LVGL v9框架下的MIPI简易相机_Part2
linux·c语言·数码相机