关于交叉编译移植到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!

相关推荐
sycmancia1 小时前
Qml——信号连接、自定义信号
qt
2035去旅行5 小时前
bootcmd 详细讲解
linux·嵌入式·arm·soc
陈希1235 小时前
Linux 防火墙配置实战:firewalld、iptables 与云安全组
linux·运维·服务器
女神下凡6 小时前
芯参谋(95):嵌入式文件系统_开发指南
linux·服务器·arm开发·驱动开发·设计规范
且从容.10 小时前
Ubuntu安装flume
linux·ubuntu·flume
承渊政道10 小时前
Linux网络学习【Reactor反应堆模式】
linux·网络·学习·ubuntu·reactor
且从容.13 小时前
ubuntu安装flink
linux·ubuntu·flink
爱和冰阔落14 小时前
【Linux网络】TCP 服务器如何并发处理多个客户端?从 fork、僵尸进程到双重 fork
linux·运维·服务器·网络
程序员沉梦听雨14 小时前
WSL2的安装与使用
linux·wsl
微小的鱼15 小时前
Linux的渲染与显示系统链路
android·java·linux