我们一直在将Java API移植到C ++,并为Linux创建库文件(.a文件)。我们的API依赖于boost框架和log4cxx。 (我们与第一个用户讨论了这个问题,他们对这些依赖关系没问题。)
当我编译一个使用我们库文件的示例应用程序时,它会链接到依赖项的.so文件(libboost_system.so,libboost_thread.so和liblog4cxx.so)。当应用程序运行时,它需要为每个.so文件找到特定的版本化文件名,例如liblog4cxx.so.10。
如果用户正在使用更新版本的boost(例如),他/她是否能够链接到他们的本地版本并运行更新的版本(假设兼容性)?是否有其他方法来处理这些版本/依赖项(即您尝试将外部引用的库链接到您自己的库)?