什么是分配我的C++共享库头文件的最好方法?

什么是分配我的C++共享库头文件的最好方法?,c++,header,C++,Header,所以我有我的共享库libMySharedLibrary.So。它在自己的文件夹中有一堆头文件,等等。对这些头文件进行分组并将其分发到我的共享库的客户端的最佳/标准方法是什么?它们通常位于${prefix}/include/mylibrary,其中${prefix}发行版的安装根目录通常为/usr,第三方libs的安装根目录通常为/usr/local 通过这种方式,程序包括: #include <mylibrary/header.h> 有关更多信息,请查看 大多数基于Linux的系统

所以我有我的共享库libMySharedLibrary.So。它在自己的文件夹中有一堆头文件,等等。对这些头文件进行分组并将其分发到我的共享库的客户端的最佳/标准方法是什么?

它们通常位于${prefix}/include/mylibrary,其中${prefix}发行版的安装根目录通常为/usr,第三方libs的安装根目录通常为/usr/local

通过这种方式,程序包括:

#include <mylibrary/header.h>
有关更多信息,请查看

大多数基于Linux的系统都是基于GNU的操作系统,并且遵循GNU标准。但也有不同之处

不同的发行版有不同的软件包管理系统来安装软件,但大多数发行版使用两种rpm和deb中的任何一种。许多构建系统都会抽象出标题和库等内容的精确位置,因此,如果您使用autotools之类的工具,则安装人员可以选择位置或使用发行版的默认值


您应该为发行版之间的细微差异做好准备,因此您可能需要为某些事情准备特定的安装软件包。

即使您可以得到这个问题的答案,您认为如何从所有这些意见中找出最佳答案?是否有一种标准的方法可以做到这一点?你只是把拉链或焦油之类的东西给那个人?不,真的没有标准。@πάνταῥεῖ 有标准。大多数Linux发行版都是基于GNU的操作系统,并且遵循GNU标准。第三方软件通常也会这样做。@Galik,从什么时候开始linux被认为是标准的?对不起,我是一个热情的linux用户,但称之为标准太过分了。最好建议OP将所有内容压缩在一起,让他们的客户决定从何处提取用于开发的内容。那么我可以提供一个包含mylibrary/myfolder/myheader.h条目的zip/tar吗?啊,我们在谈论linux。有关于windows、android或其他什么的提示吗?@PeterMel不同的发行版有不同的软件包管理系统来安装软件,但大多数发行版使用两个rpm和deb中的任何一个。许多构建系统都会抽象出标题和库等内容的精确位置,因此,如果您使用autotools之类的工具,则安装人员可以选择位置或使用发行版的默认值。