Linux x86_64平台同时编译x86_64和arm64两个架构的Qt应用程序出现XRes库无法找到

news/2024/10/20 3:53:28/

一 背景

在ubuntu x86_64平台上需要同时编译x86_64和arm64两个架构的Qt应用程序。在实践过程中,发现XRes库只能安装在其中一个平台。

二 根因

安装amd64版本的XRes库会删除arm64版本的库,反之亦然。

  • 在安装amd64版本时,会删除arm64版本,这会导致缺失libXRes.so的符号链接
    在这里插入图片描述
    在这里插入图片描述
  • 在安装arm64版本时,会删除amd64版本,这会导致缺失libXRes.so的符号链接
    在这里插入图片描述
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/e411d8602c864e92acd6b60f9835e114.png在这里插入图片描述

三 解决办法

手动创建缺少的动态库符号链接,比如创建arm64版本的符号链接,如下

sudo ln -s /usr/lib/aarch64-linux-gnu/libXRes.so.1.0.0 /usr/lib/aarch64-linux-gnu/libXRes.so

四 知识点

如何在x86_64系统下安装多架构包,比如arm64, 已实现交叉编译:

  • 需要添加arm64架构,如下指令:
dpkg --print-foreign-architecturesi386
sudo dpkg --add-architecture arm64
dpkg --print-foreign-architecturesi386arm64
  • 更改sources.list,因为默认的源不支持arm64, 只支持x86_64

需要注意添加arch,如下:[arch=arm64]
给出清华大学源,如下:

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiversedeb [arch=amd64] http://security.ubuntu.com/ubuntu/ bionic-security main restricted universe multiverse
# deb-src http://security.ubuntu.com/ubuntu/ bionic-security main restricted universe multiverse# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb [arch=arm64] https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main restricted universe multiverse
deb [arch=arm64] https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb [arch=arm64] https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiversedeb [arch=arm64] https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse# deb http://ports.ubuntu.com/ubuntu-ports/ bionic-security main restricted universe multiverse
# # deb-src http://ports.ubuntu.com/ubuntu-ports/ bionic-security main restricted universe multiverse# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-proposed main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-proposed main restricted universe multiverse
  • 执行更新:sudo apt-get update

以下给出在linux系统下开发图形应用程序一些常见的包,主要时x11相关的:

  • arm64版本
sudo apt-get -q -y install uuid-dev:arm64 libgl1-mesa-dev:arm64 libxcb-xkb-dev:arm64 freetds-dev:arm64 libfontenc-dev:arm64 libice-dev:arm64 libsm-dev:arm64 libxaw7-dev:arm64 libxt-dev:arm64 libxcomposite-dev:arm64 libxcursor-dev:arm64 libxi-dev:arm64 libxinerama-dev:arm64 libxkbfile-dev:arm64 libxmu-dev:arm64 libxmuu-dev:arm64 libxpm-dev:arm64 libxrandr-dev:arm64 libxrender-dev:arm64 libxres-dev:arm64 libxss-dev:arm64 libxtst-dev:arm64 libxv-dev:arm64 libxvmc-dev:arm64 libxcb-icccm4-dev:arm64 libxcb-image0-dev:arm64 libxcb-shm0-dev:arm64 libxcb-keysyms1-dev:arm64 libxcb-render-util0-dev:arm64 libxcb-xinerama0-dev:arm64 libxcb-util-dev:arm64 libxcb-shape0-dev:arm64 libxcb-randr0-dev:arm64 libxcb-xfixes0-dev:arm64 libxcb-sync-dev:arm64 libxcb-keysyms1-dev:arm64 libxkbcommon-x11-dev:arm64 libsm-dev:arm64 libice-dev:arm64 libqt5x11extras5-dev:arm64  libxcb-xinput-dev:arm64
  • amd64版本
sudo apt-get -q -y install uuid-dev:amd64 libgl1-mesa-dev:amd64 libxcb-xkb-dev:amd64 freetds-dev:amd64 libfontenc-dev:amd64 libice-dev:amd64 libsm-dev:amd64 libxaw7-dev:amd64 libxt-dev:amd64 libxcomposite-dev:amd64 libxcursor-dev:amd64 libxi-dev:amd64 libxinerama-dev:amd64 libxkbfile-dev:amd64 libxmu-dev:amd64 libxmuu-dev:amd64 libxpm-dev:amd64 libxrandr-dev:amd64 libxrender-dev:amd64 libxres-dev:amd64 libxss-dev:amd64 libxtst-dev:amd64 libxv-dev:amd64 libxvmc-dev:amd64 libxcb-icccm4-dev:amd64 libxcb-image0-dev:amd64 libxcb-shm0-dev:amd64 libxcb-keysyms1-dev:amd64 libxcb-render-util0-dev:amd64 libxcb-xinerama0-dev:amd64 libxcb-util-dev:amd64 libxcb-shape0-dev:amd64 libxcb-randr0-dev:amd64 libxcb-xfixes0-dev:amd64 libxcb-sync-dev:amd64 libxcb-keysyms1-dev:amd64 libxkbcommon-x11-dev:amd64 libsm-dev:amd64 libice-dev:amd64 libqt5x11extras5-dev:amd64  libxcb-xinput-dev:amd64

http://www.ppmy.cn/news/416150.html

相关文章

【Linux】MySQL数据库 (二)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 MySQL数据库 数据表高级操作克隆表,将数据表的数据记录生成到新的表中清空表,删除表内的所有数据创建临时表创建外键约束,保证数据的完整性…

Elasticsearch镜像下载站镜像列表

官网https://www.elastic.co/cn/downloads/elasticsearch下载实在是太慢了,分享一个好方法 先在下面网站找到要下载的文件 https://elasticsearch.cn/download/ 然后在下面的链接拼上文件名即可 https://elasticsearch.thans.cn/downloads/elasticsearch/ 如下&a…

msdn下载站

CSDN下载 http://msdn.itellyou.cn/ VS2015激活密钥 专业版:HMGNV-WCYXV-X7G9W-YCX63-B98R2 企业版:HM6NR-QXX7C-DFW2Y-8B82K-WTYJV

WP全新COS美女写真网站整站源码+两套下载站模板

正文: 程序的全部完整演示图放到压缩包了,有兴趣的自己去看吧。 这程序本人实测搭建成功,百分百可以用的,属于WordPress,已经集成好了两款不同的免授权精品下载站模板,具体演示图都放到压缩包了,有兴趣的…

软件下载站系统源码

简介: 站长测试了一下,还是可以的 软件下载官网系统1.01.0版本 1.新增加安卓软件 2.新增加ios苹果软件 3.新增加首页顶部按钮(可用于广告跳转) 这里有一点要说的哦,站长测试的PHP版本是7.0 网盘下载地址: …

推荐几个前端模板下载站

相信大家自己做web项目的时候会为找不到好看的前端模板而发愁,有时候在网上找到了自己喜欢的模板,但是下载又需要积分或者是vip,最近我就整理了几个前端模板很多的网站,部分网站完全免费,不需要VIP或积分 top1 推荐指…

Git for Windows 国内下载站,免翻快速下载安装

Git for Windows. 国内直接从官网(http://git-scm.com/download/win)下载比较困难,需要翻墙。这里提供一个国内的下载站,方便网友下载 Git各种版本都有: Git for windows地址:GitHub - Sjj1024/Git-win: G…

b站视频下载至电脑

步骤如下 第一步第二步第三步第四步第五步 温馨提示: 可以直接从第三步开始哟。 第一步 找到需要需要下载的视频,在当前的视频网址中间加入 jj 。 加入jj前 加入jj后 第二步 添加完jj后,点击回车,网页会自动跳转到一个下载的…