【发布时间】:2010-09-23 20:06:01
【问题描述】:
我正在使用由同一供应商生产的两个商业库,称为 VendorLibA 和 VendorLibB。这些库分发的 DLL 取决于编译器版本(例如 VC7、VC8)。这两个库都依赖于由该供应商生产的另一个库,称为 VendorLibUtils 并包含在一个 DLL 中。
问题:VendorLibA 使用的 VendorLibUtils 版本与 VendorLibB 不同。这两个版本不是二进制兼容的,即使它们是,使用错误的版本也是一个坏主意。
有什么办法可以在同一个进程下使用这两个库?
注意:LoadLibrary 无法解决这个问题,因为我的进程不是导入 VendorLibUtils 的进程。
编辑:忘了提一个明显的问题,我不需要为任何商业库提供源代码,而且我可能永远也不会拥有(sigh)。
编辑: 顺便说一句,这样做是:How to combine GUI applications in Windows
【问题讨论】: