5

我在 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”。

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

4

1 回答 1

1

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

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

AC_SUBST([MY_VERSION])

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

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

于 2016-01-20T15:45:48.627 回答