Installation 如何使用automake安装d库的.d文件?
使用Installation 如何使用automake安装d库的.d文件?,installation,libraries,d,automake,Installation,Libraries,D,Automake,使用Makefile.am安装(系统范围)D库(至少在GNU系统上)的正确方法是什么 以下是我安装静态库和共享库的代码: install-data-local: install librdf_dlang.a librdf_dlang.so $(libdir) 剩下的问题是如何为开发人员安装.d文件以使用我的库 特别是,.d文件的安装目录应该是什么 在“类似linux/unix的系统”上看起来很适合。特别见: 从历史上看,严格按照标准,/usr/local用于必须存储在本地主机上
Makefile.am
安装(系统范围)D库(至少在GNU系统上)的正确方法是什么
以下是我安装静态库和共享库的代码:
install-data-local:
install librdf_dlang.a librdf_dlang.so $(libdir)
剩下的问题是如何为开发人员安装.d
文件以使用我的库
特别是,.d
文件的安装目录应该是什么
在“类似linux/unix的系统”上看起来很适合。特别见:
从历史上看,严格按照标准,/usr/local用于必须存储在本地主机上的数据(与/usr相反,后者可以跨网络装载)。大多数情况下,/usr/local用于安装不属于标准操作系统发行版的软件/数据(在这种情况下,/usr将只包含属于标准操作系统发行版的软件/数据)。FHS标准有可能在未来进行修改,以反映这一事实上的惯例
我不知道Windows。如果您正在系统范围内安装D库和源代码(我猜是接口文件),那么最常见的位置是
/usr/include/
或/usr/local/include/
,只要它不与存储头文件的现有C/C++项目冲突。一些D程序员更喜欢/usr/include/D/
或/usr/local/include/D/
例如,我使用/usr/di
(D imports)实现此目的,我的库项目的所有接口文件都在那里。我将解释为什么我不喜欢在那里有单独的项目目录
无论选择哪个目录,都需要更新编译器搜索路径
以下是我的dmd.conf的一部分:
[Environment64]
DFLAGS=-I/usr/include/dmd/phobos -I/usr/include/dmd/druntime/import -I/usr/di -L-L/usr/lib64 -L--export-dynamic -fPIC
,并且ldc2.conf看起来像:
// default switches appended after all explicit command-line switches
post-switches = [
"-I/usr/include/d/ldc",
"-I/usr/include/d",
"-I/usr/di",
"-L-L/usr/lib64",
];
如果您希望每个项目都有一个单独的目录,那么最终每个项目都会有
-I
。-我真的不喜欢这种方法。但是,它在开发人员中非常流行,因此如何组织D导入文件实际上取决于您。我知道开发人员非常不喜欢使用Java方法处理domain.product.packages
,但这很好地适应了所有D接口文件的单一位置,最重要的是没有冲突,因为域/产品部分…不是/include
只针对C头文件吗?我查看了一些Ubuntu D包。他们使用的include/d
@porton/include
是for,并且与语言无关。C头文件只是一个(尽管是最常见的)示例。
// default switches appended after all explicit command-line switches
post-switches = [
"-I/usr/include/d/ldc",
"-I/usr/include/d",
"-I/usr/di",
"-L-L/usr/lib64",
];