Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.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
Linux 澄清错误_Linux_Makefile_Shared Libraries - Fatal编程技术网

Linux 澄清错误

Linux 澄清错误,linux,makefile,shared-libraries,Linux,Makefile,Shared Libraries,我正在试验自定义库,在经历添加自定义库的步骤时,我似乎无法克服生成文件错误。我在网上研究了一下,发现我们需要使用制表符,而不是空格,同样地,也需要更改内容。我也尝试过用vi而不是gedit来编辑它。我也通过了一些其他的解决方案和指南,关于与此相关的错误,但没有用。我在这个线程中发布了文件。有人能告诉我是什么问题吗?执行命令make clean将生成以下错误: Makefile:687: *** missing separator. Stop. Makefile.am AUTOMAKE_OPTI

我正在试验自定义库,在经历添加自定义库的步骤时,我似乎无法克服生成文件错误。我在网上研究了一下,发现我们需要使用制表符,而不是空格,同样地,也需要更改内容。我也尝试过用vi而不是gedit来编辑它。我也通过了一些其他的解决方案和指南,关于与此相关的错误,但没有用。我在这个线程中发布了文件。有人能告诉我是什么问题吗?执行命令make clean将生成以下错误:

Makefile:687: *** missing separator. Stop.
Makefile.am

AUTOMAKE_OPTIONS = 1.4 foreign
CFLAGS += -Wall
lib_LTLIBRARIES = libopen.la
libopen_la_SOURCES = libopen.c
libopen_la_CFLAGS = -O1
libopen_la_LIBADD = -ldl
dist_man_MANS = libopen.1

edit = $(SED) \
    -e 's,@bindir\@,$(bindir),g' \
    -e 's,@mandir\@,$(mandir),g' \
    -e 's,@libdir\@,$(libdir),g' \
    -e 's,@datadir\@,$(datadir),g' \
    -e 's,@localstatedir\@,$(localstatedir),g'


openlib:: Makefile $(srcdir)/openlib.in
    rm -f openlib openlib.tmp && \
    $(edit) $(srcdir)/openlib.in >openlib.tmp \
    && mv openlib.tmp openlib

nodist_bin_SCRIPTS = openlib
nodist_bin_SCRIPTS += openlib-debug

dist_noinst_DATA = openlib.in
dist_noinst_DATA += openlib-debug.in

DISTCLEANFILES = openlib
DISTCLEANFILES += openlib-debug

提前感谢。

第687行周围的Makefile内容是什么?openlib规则行选项卡上的前导空格是吗?出于好奇,为什么要在sed命令中转义第二个@?查看Makefile,并向我们展示第687行前后的内容。如果我不得不猜测,我会说在其中一个反斜杠之后有一些额外的空格。反斜杠必须是换行符之前的最后一行,否则不算作转义换行符。如果你看第687行和它前面的那一行,你就会知道问题出在哪里。@Etan Reisner,我只是按照给我的指南中的代码来做的。