如果我要为与 C 不兼容的语言(例如 D)编写一个库,哪里是安装“头文件”的最佳位置?
usr/include
似乎是一个坏主意,因为 FHS 表示它适用于“C 程序包含的头文件”。
答案1
您定义自己的约定,但我确实会远离/usr/include
.
/usr/lib/<lang>
对于解释型语言来说,这里似乎很流行(我至少有/usr/lib/python
,/usr/lib/perl
并且/usr/lib/ruby
有用于处理特定于版本的内容的变体),我认为如果那里没有二进制数据(或者至少只有独立于架构的二进制数据),那么/usr/share/<lang>
从 FHS 来看更合适(我也有/usr/share/tcl
来自的符号链接/usr/lib/tcl
)。
仍然本着 FHS 精神,我倾向于使用/opt/<lang>/share
or,/opt/<lang>/lib
同时为安装程序(或发行版)提供一种使用/usr/share/<lang>
or 的简单方法/usr/lib/<lang>
。
答案2
我想说的/usr/local/include/
是你自己的补充。Linux 文件系统层次结构标准