我收到此错误信息:
m4:myPerlScript.pl:77: ERROR: end of file in string
当尝试使用 m4 替换某些 perl 脚本中的字符串时。我在 makefile 中进行调用。
$(OUTDIR)/%: %.pl
m4 blah/thing.m4 $< > $@
chmod +x $@
我确保thing.m4存在并且位于正确的位置。
答案1
对于其他到达这里的人来说,OP 的错误也可能是由于缺少右方括号(可能是任何不成对的括号字符)而出现的。
答案2
事实证明,m4 出错是因为它对引号敏感。我将其添加changequote()
到替换的 .m4 文件中。
还需要使用 -P 开关来避免匹配 m4 关键字,并将 m4_dnl 添加到每一行。