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

MY_VERSION="0:0:0"
AC_SUBST(MY_VERSION)
AC_MSG_NOTICE([$MY_VERSION])

在./configure阶段,该变量的值已正确打印。

在Makefile.am中,有以下几行:
libmylib_la_LDFLAGS = -version-info @MY_VERSION@

在链接程序命令行中,在Solaris以外的所有系统上,它都可以正确扩展为“-version-info 0:0:0”。在solaris(SunOS 5.10 Generic_141414-10 sun4u sparc SUNW,Sun-Blade-100)上,我得到“-version-info”,没有版本号。

知道可能出了什么问题吗?

最佳答案

(这里有点黑了,但是…)

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

AC_SUBST([MY_VERSION])

相反,您要这样告诉M4明确定义它。

同样,正如Igor所说,请使用$(MY_VERSION)(尽管与此无关)。

关于solaris - Automake:在Solaris上未扩展变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18415093/

10-11 23:12