检索使用 autotool 生成的 lib 版本

retrieve lib version generated with autotool

我正在尝试找到一种方法来获取我的 library, compiled with 版本。

我在 makefile.am 中将 -version-info 1:1:1 添加到 LD_FLAGS 并且输出正常: lib.so.0.1.1

我需要的是在运行时检索该库的版本并将其显示在信息面板上。

我正在考虑两种不同的方法:

  1. 使用外部文件(例如 header),我可以在其中定义版本并使 makefile.am 能够从中读取版本值。这样我也可以从我的代码中访问它。
  2. 一种方法,不同于在 FS 上解析库的文件名,以检索由 -version-info 选项设置的版本。

这些想法是否适用?

定义LIB_VERSION = 0:1:1

使用它:-version-info $(LIB_VERSION) 如果您想从代码中使用它,请将其附加到 cflags:-DVERSION=$(LIB_VERSION)