Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Autotools 自动工具:程序安装路径_Autotools_Automake - Fatal编程技术网

Autotools 自动工具:程序安装路径

Autotools 自动工具:程序安装路径,autotools,automake,Autotools,Automake,在典型情况下,当您需要构建二进制文件并安装它们时,我可以使用以下方法: bin_PROGMRAMS: foo foo_SOURCES: goo.c 或 这意味着将构建foo,然后将其安装在$(前缀)/bin或$(前缀)/sbin中。但是,如果您使用的不是bin_程序,而是data_程序automake将不允许这样做 问题:二进制文件(“程序”)安装允许的路径的完整列表是什么?程序允许的预定义安装目录的完整列表是: ‘bindir’, ‘sbindir’, ‘libexecdir’, ‘pkgl

在典型情况下,当您需要构建二进制文件并安装它们时,我可以使用以下方法:

bin_PROGMRAMS: foo
foo_SOURCES: goo.c

这意味着将构建foo,然后将其安装在
$(前缀)/bin
$(前缀)/sbin
中。但是,如果您使用的不是
bin_程序
,而是
data_程序
automake将不允许这样做


问题:二进制文件(“程序”)安装允许的路径的完整列表是什么?

程序允许的预定义安装目录的完整列表是:

‘bindir’, ‘sbindir’, ‘libexecdir’, ‘pkglibdir’
类似标准路径的完整列表可在

编辑:上面的列表不正确,我把它留在这里只是为了给评论部分提供上下文,请参见下面的内容:

看来这本汽车书已经过时了。安装目录的正确列表为:

bindir, sbindir, libexecdir, pkglibexecdir

您似乎是从Autobook上复制了您的列表,而事实证明,这一点是错误的,您可以通过实验进行验证
pkglibdir
不是与
程序
主目录一起使用的有效目录,因为它确实与
libdir
的允许使用一致。我想Autobook的意思是说
pkglibexecdir
,否则就构成了遗漏。无论如何,这个信息的主要来源是。@JohnBollinger是的,正如我在回答中所说的,它来自autobook。我检查了你提供的链接,它似乎没有列出automake认为可以安装程序的目录…这里的关键问题是给出的答案显然是错误的<代码>pkglibdir不允许用于
程序
,并且
pkglibexecdir
不允许。《汽车制造手册》第一节链接部分提供了正确的信息,部分内容是通过参考并指出“汽车制造使用pkgdatadir、pkgincludedir、pkglibdir和pkglibexecdir扩展了此列表;这些与非“pkg”版本相同,但附加了“$(软件包)”。好的,找到了正确的答案(相应地编辑了答案)
bindir, sbindir, libexecdir, pkglibexecdir