我是 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 m4
和 autoconf
和 ./configure
。
关于c - luajit 附近的 PKG_CHECK_MODULES 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36659867/