原因:语法错误接近意外令牌`fi'

时间:2014-09-19 06:34:25

标签: sh configure autoconf

在autoconf生成的配置文件(#!/ bin / sh /)中,内部有一个段落,如下所示:

if ac_fn_cxx_try_compile "$LINENO"; then :

        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
    succeeded=yes
    found_system=yes

else


fi

当我执行./configure时,它告诉我"语法错误接近意外令牌`fi'"在那条线上。它不是文件的末尾。

3 个答案:

答案 0 :(得分:4)

与评论一致:

if ac_fn_cxx_try_compile "$LINENO"; then

    $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 
    $as_echo "yes" >&6;
    succeeded=yes
    found_system=yes

else

    ##  look nothing here !!
    ##  at least put a ':'
    ##  or delete else altogether

fi

答案 1 :(得分:3)

另外,我发现autoconf为什么会生成这样的配置文件。我从Windows复制了configure.ac,它有^ M作为返回。 Autoconf认为^ M是某种东西并将其添加到其他地方......

答案 2 :(得分:1)

使用minGW编译libtorrent时遇到了这个错误。 问题是保存为DOS文件的m4宏。转换" ax_boost_base.m4"到linux文件的结尾做了伎俩。 我几乎可以肯定我在我的窗口上配置了错误的GIT:它将所有文件转换为DOS,这不是一个好主意。