Automake:Solaris上未扩展的变量

Mar*_*rik 5 automake autoconf solaris autotools

我在configure.ac中声明了一个变量:

MY_VERSION="0:0:0"
AC_SUBST(MY_VERSION)
AC_MSG_NOTICE([$MY_VERSION])
Run Code Online (Sandbox Code Playgroud)

在./configure阶段期间正确打印变量的值.

在Makefile.am中有以下行:

libmylib_la_LDFLAGS = -version-info @MY_VERSION@
Run Code Online (Sandbox Code Playgroud)

在链接器命令行中,它在除Solaris之外的所有系统上正确扩展为"-version-info 0:0:0".在solaris上(SunOS 5.10 Generic_141414-10 sun4u sparc SUNW,Sun-Blade-100)我得到了"-version-info"没有版本号.

什么可能出错了?

Die*_*enò 1

(这里有点盲目,但是\xe2\x80\xa6)

\n\n

我的猜测是,无论出于何种原因,MY 或 VERSION 都会在 Solaris 上定义。尝试使用

\n\n
AC_SUBST([MY_VERSION])\n
Run Code Online (Sandbox Code Playgroud)\n\n

相反,通过这种方式,您可以告诉 M4 明确定义它。

\n\n

也正如伊戈尔所说,使用$(MY_VERSION)(尽管与此无关。)

\n