繁体   English   中英

Makefile上缺少分隔符

[英]missing separator on Makefile

我现在在使用自动工具生成的Makefile时遇到问题,它首先看起来像这样 当我尝试make错误出现时:

Makefile:327: *** missing separator.  Stop.

然后,我尝试了以下更改:

326,327c326
< LDFLAGS = -Wl,-O1,--sort-common,--as-needed,-z,relro -L/home/tjm/tmp/fake-root/libgd/usr/local/lib/ -L /home/tjm/tmp/fake-root/libpng/usr/local/lib -L /home/tjm/tmp/fake-root/freetype/usr/local/lib -L /home/tjm/tmp/fake-root/libpng/usr/local/lib -L /home/tjm/tmp/jpeg-6b
<     -static
---
> LDFLAGS = -Wl,-O1,--sort-common,--as-needed,-z,relro -L/home/tjm/tmp/fake-root/libgd/usr/local/lib/ -L /home/tjm/tmp/fake-root/libpng/usr/local/lib -L /home/tjm/tmp/fake-root/freetype/usr/local/lib -L /home/tjm/tmp/fake-root/libpng/usr/local/lib -L /home/tjm/tmp/jpeg-6b -static

但是,这次,我得到了这个错误:

Making all in intl
Makefile:35: *** missing separator.  Stop.
make[1]: *** [Makefile:582: all-recursive] Error 1
make: *** [Makefile:489: all] Error 2

相关行如下所示:

32   skip_next=no; \
33   strip_trailopt () \
34   { \
35     flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
36   }; \

我整理了很多东西,例如:

34 { flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; }; \

34   { \
35     flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; }; \

33   strip_trailopt () { flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; }; \

 35 ^Iflg=printf '%s\n' "$$flg" | sed "s/$$1.*$$//"; \$ 

但是仍然出现相同的错误。

有谁能给我一些有关如何解决的想法?

(注意:我不确定在StackOverflow和SuperUser中这是否正确。)

如果您编辑了Makefile ,它将不再有用,因为它将仅从Makefile.in重新生成,而该Makefile.in又将从Makefile.am

检查您的Makefile.am文件,并将-static与其他所有文件放在同一行; 发生的情况是,在前一行( \\ )的末尾没有连续符号,因此变量定义不再继续。 因此,它试图将其解析为规则,而不是规则。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM