c - luajit 附近的 PKG_CHECK_MODULES 语法错误

标签 c gnu autotools autoconf automake

我是 GNU autotools 的新手。在我的项目中,当我尝试 ./configure 时,它会生成以下错误:

./configure: line 9852: syntax error near unexpected token `luajit,'
./configure: line 9852: `    PKG_CHECK_MODULES(luajit, luajit,LLUAJIT="yes",LLUAJIT="no")'

Configure.in 中:

 PKG_CHECK_MODULES(luajit, luajit,LLUAJIT="yes",LLUAJIT="no")
    if test "x$LLUAJIT" = "xyes"; then
        CONFIGFLAGS="$CONFIGFLAGS -DHAVE_LIBLUAJIT"
        LUA_CFLAGS="$luajit_CFLAGS"
        LUA_LIBS="$luajit_LIBS"
        AC_SUBST(LUA_CFLAGS)
        AC_SUBST(LUA_LIBS)
        if test "x$macos" != "xno"; then
            LDFLAGS="${LDFLAGS} -pagezero_size 10000 -image_base 100000000"
        fi

    else
        echo
        echo "   ERROR!  LuaJIT library not found. For better performance, go get it from"
        echo "   http://www.luajit.org/."
        AC_MSG_ERROR("Fatal!")
    fi

似乎 autoconf(可能)无法找到 PKG_CHECK_MODULES 宏。我在网上搜索解决方案,发现是因为libtool没有安装。我重新安装了libtool,但错误依旧。

希望有人认识到这个问题并能快速解决它。任何帮助将不胜感激。

最佳答案

对于那些最终在这里寻找解决方案的人,以下对我有用:

PKG_CHECK_MODULES breaking in solaris

PKG_CHECK_MODULES 宏似乎没有正确展开。当您安装 pkg-config 时,它是否安装了 pkg.m4(在类似 /usr/share/aclocal 的地方)?如果是这样,请尝试再次运行 aclocal(可能使用 -I m4,如果您在 m4< 中有自定义 m4 代码 子目录),然后运行 ​​autoconf

如果这不起作用并且安装了 pkg.m4,请尝试运行 autoreconf -f(也许 autoreconf -i -f ).

如果这不起作用,您需要将 pkg.m4 复制到您的包的目录中。通常这是 m4 子目录。在 Makefile.am 中设置 ACLOCAL_AMFLAGS = -I m4(或 ACLOCAL_AMFLAGS = -I m4 --install)(如果您使用 automake) 和 configure.ac 中的 AC_CONFIG_MACRO_DIR([m4])。然后运行 ​​aclocal -I m4autoconf./configure

关于c - luajit 附近的 PKG_CHECK_MODULES 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36659867/

相关文章:

c - 段错误 - GNU C

parallel-processing - GNU 并行根本不工作

linux - 安装多个版本的 gcc 时,libtool 与 64 位目标平台上的 32 位版本的 libstdc++.so 链接

我可以使用下面的代码还是不正确的?

c - Vala 和 Genie 生产准备好了吗?

gcc - 如何在makefile中设置环境变量?

autotools - 如何解决 "Possibly undefined macro: AC_MSG_ERROR"

c++ - 使用 Autotools 构建 CUDA 和 C++

c++ - 如何判断包含头文件的位置?

可以指示 GCC 不消除死代码吗?