抱歉我的英语不好。我创建了一个应用程序。我想将其打包成 snap 格式。我做到了。不幸的是,当我启动该应用程序时(在我将其安装在新安装了 Ubuntu 22.04 的 PC 上之后,我显然使用虚拟机进行测试),它不会在 snap 文件夹中查找库,而是在操作系统中查找。显然,在我创建应用程序的 PC 上它可以运行,但在新安装的系统上它无法启动。由于像 flatpaks 这样的 snap 可以安装包含所有依赖项的应用程序,我希望程序能够使用我放入 snap 中的库(这些库是程序运行所需的库)。snapcraft.yaml 文件的配置如下:
name: lamiavideoteca
base: core22
version: "2.40"
summary: Program for cataloging Films description: Program that allows you to catalog your collection of Films and/or Video/Audio.
grade: stable
confinement: strict
parts:
lamiavideoteca:
plugin: dump
source: .
apps:
lamiavideoteca:
command: usr/bin/LaMiaVideoteca
desktop: usr/share/applications LaMiaVideoteca.desktop
environment:
QT_PLUGIN_PATH: $SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/qt6/plugins:$QT_PLUGIN_PATH
LD_LIBRARY_PATH: $LD_LIBRARY_PATH:$SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET
从代码中可以看出,我设置了环境变量以向应用程序显示库。包已生成,但当我从终端启动它时,我注意到它找不到必要的库,这些库位于 /snap/lamiavideoteca/current/usr/lib 文件夹中。
我尝试更改 snap 上的库位置。我更改了 snapcraft.yaml(我使用了 stage...stage-packages),但没有任何效果,程序在 usr/lib 上搜索库,而不是在 snap/lamiavideoteca/usr/lib 上搜索。为什么?谢谢您的回答