检查C库的版本(动态加载)

the*_*ole 5 c unix linux gcc dynamic-linking

我有一个程序需要特定版本的库(libgstreamer 就是一个例子),因此旧版本将无法工作。由于延迟链接,我的程序可能会链接到 gstreamer 版本 10.23,该版本缺少我使用的 10.25 中存在的一些符号。我的问题是,如何在不使用包管理器的情况下检查安装了哪个版本的库。是否可以从 C 程序加载库并使用 dlopen() 检查其版本号?

编辑:我正在Linux系统上工作

编辑2:也许我可以使用 readelf -V ?

谢谢!

gby*_*gby 2

当然,使用 dlopen 和 dlsym 函数加载库并测试您所依赖的符号是否存在。有关详细信息和代码示例,请参阅手册页: http: //linux.die.net/man/3/dlopen