【问题标题】:I was trying to run ./configure file with MSYS but I get Syntax Error near unexpected token?我试图用 MSYS 运行 ./configure 文件,但在意外令牌附近出现语法错误?
【发布时间】:2017-07-22 02:20:03
【问题描述】:

当我尝试使用 mingw64 编译器从命令行使用 MSYS .sh 运行 ./configure.ac 文件时,我从 ./configure 文件中收到以下错误。

错误:

./configure.ac: line 11: syntax error near unexpected token `[svnversion],'
./configure.ac: line 11: `define([svnversion], esyscmd([sh -c "C:\trunk\bin\run_svnversion_if_it_exists.bash|tr -d '\n'"]))dnl'
sh-4.3$

从此代码:

define([svnversion], esyscmd([sh -c "C:\trunk\bin\run_svnversion_if_it_exists.bash|tr -d '\n'"]))dnl
AC_INIT([oomph-lib],[1.0.svnversion],[***@contact])

还有其他方法可以定义 SVN 版本或从 bash 文件中调用吗?

【问题讨论】:

    标签: bash compiler-errors config msys2


    【解决方案1】:

    不,configure.ac 不是 Bash 脚本。请注意,configure.acconfigure 不同,因为它以 .ac 结尾。如果您尝试编译的任何项目都有configure 脚本,那应该是您可以运行的 Bash 脚本。如果它只有configure.ac,你必须运行一些神秘的 GNU autotools 命令来从中生成配置脚本(例如autoconfautoreconf)。查看该项目的文档以确定要运行的命令。

    【讨论】:

    • make configuresh autogen.sh 是我经常看到的用于创建 configure 脚本的命令。
    • @pfnuesel "make configure.ac" 是我在运行 sh autogen.sh 后尝试运行的命令和文件。 sh 建议我是否要运行类似的测试脚本;检查-k。我还缺少另一个配置文件吗?或者我需要在运行 .ac 文件之前运行?
    • @David 我正在使用带有 Msys2 的 Windows。我可以在 Windows 上使用 autoconf 吗?这也是一个 configure.ac 文件,而不是 Makefile.am。两者都包括在内,但是我应该使用“sh autogen.sh”运行哪一个。是 configure.ac 还是 Makefile.am?
    • MSYS2 有一个包含 autoconf 的包。如果您需要任何进一步的帮助,我认为您必须发布指向您正在编译的项目的链接。
    • 我明白了,问题是 MSYS 带有许多 shell。我在他们的安装指南中描述的 msys $ sh shell 上。但是,此 shell 无法提示 mingw64 编译器运行脚本。然后我在 mingw64 shell 上运行 autogen.sh,现在响应非常好。无论如何谢谢你。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-19
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 2017-08-26
    • 2017-12-03
    • 2016-10-16
    相关资源
    最近更新 更多