我在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/