我应该在什么时候将库安装到lib/,什么时候安装lib/x86_64-linux-gnu



我编译了一个静态C或C++库,获得了一个libfoo.a。我想决定它建成后应该安装在哪里。不要介意我使用的是什么构建/安装机制——这是一个原则问题。

现在,在安装根目录(可能是/usr/usr/local等(上,有两个子目录感兴趣:lib/,以及一个目录,其名称取决于处理器体系结构、内核类型和用户区类型,例如x86_64、Linux和GNU,用于lib/x86_64-linux-gnu

我用x86_64对象代码编译了这个库,并使用了Linux版本的glibc;但是,所有的库基本上都是这样编译的。那么,我如何决定我的库应该只进入lib/,还是更确切地说是lib/x86_64-linux-gnu

注意:如果我使用的是非Debian发行版,那么困境可能会在lib/lib64/之间——这基本上仍然是相同的困境。

lib/x86_64-linux-gnu命名方案特定于基于Debian的发行版,用于支持multiarch。许多其他发行版仍在使用文件系统层次结构标准,该标准使用/lib/lib32/lib64等,而不是lib/x86_64-linux-gnu约定。

虽然已经有一些工作将Debian命名方案纳入标准,但它还没有真正得到解决。因此,遵循你包装的分销惯例可能会更好。

在这种情况下,这似乎意味着根据Debianwiki将共享库放入相应体系结构的子目录中。

最新更新