今天我试验了一下。我决定拍一张我的图书馆。我的 snapcraft.yaml 如下所示:
name: inverse
version: "4.1"
summary: [insert summary here]
descrption: [insert short desc here]
[insert long desc here]
confinement: devmode
parts:
inverse:
plugin: cmake
source: https://github.com/InitializeSahib/Inverse/archive/v4.1.tar.gz
我使用 创建存档snapcraft
,然后使用 安装sudo snap install --devmode inverse_4.1_amd64.snap
。
问题是,我无法使用它经过
基本检查,我得出了以下结论:
/snap (contains the inverse snap [headers and shared objects])
/usr/local/lib, /lib, /usr/lib (nothing in here)
/usr/local/include, /usr/include (nothing in here either)
毫不奇怪g++
失败当我尝试使用它时:
g++: fatal error: inverse/InverseRandom.h: no such file or directory
g++: compilation terminated
我已将限制设置为最低级别(devmode),因此,我的问题是:它甚至可能的立即拥有一个共享库?
一些系统信息:
Ubuntu GNOME 16.04(全新安装,不到一周)
Snapcraft 版本 2.13.1
答案1
Snap 的主要目标是将应用程序打包为完整包,以在隔离容器中运行。因此它不适用于共享库、插件、模块、操作系统主题...
您可以从 PPA 或官方存档中提供 Debian 软件包。即使作为源存档,应用程序开发人员也可以在同一树中为他们的 snap 构建您的库。