簡體   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