我有多个dll,住在不同的子目录中,这取决于另一个叫做common.dll的第三方dll。我想设置这些dll,以便他们知道在哪里找到common.dll而不使其他程序看到common.dll以避免冲突。
例如:
bar.dll和fubar.dll都取决于common.dll
我有以下限制:
IOW,像我的dll上的unix rpath + ORIGIN这样的东西将是理想的解决方案
我希望使用清单可以提供帮助,但它看起来非常复杂或无法用于windows xp。
答案 0 :(得分:0)
假设您正在使用Windows,我使用的常用方法是在某个目录中创建指向文件物理位置的符号链接。然后调用者只需知道一些“已知目录”,您可以将链接和窗口神奇地重定向到正确的文件......
真实档案c:\blah\common\xxx.dll
link:c:\MyDir\xxx.dll
现在,来电者可以使用c:\MyDir\xxx.dll
,他们可以到c:\blah\common\xxx.dll
语法是:mklink c:\MyDir\xxx.dll c:\blah\common\xxx.dll