两个第三方库应用了同一个DLL,但不是相同的版本。也就是说,我要在程序中用两个版本的DLL,当然了,第三方的无源代码,无法重新编辑。

解决方案 »

  1.   

    没源代码重新编译,那没办法了。只能使用2个版本的dll. 这样它们会不会冲突啊(除非2个版本的dll命名不一样)
      

  2.   

    用新版本的那个不行么?设计得好的DLL新的肯定完全兼容旧的。当然,导出函数顺序、参数、作用都变了的,就没法了
      

  3.   

    都用了  hi_h264dec.dll
    但一个是1.0的,一个是2.2的。
    似乎无解了
      

  4.   

    可以用PE工具修改加载的dll名字。
      

  5.   

    方案一.
    把其中一个dll改名, 然后hook loadlibrary方案二.
    暴力修改二进制吧,同楼上.
      

  6.   

    如果函数不多的话, 自行定义函数表结构,
    然后 loadlibray(dll, 文件改成不同文件名)
    查找符号, 填充函数表,
    不同版本可以用不同函数表.然后就怕他们创建同名内核对象啊之类的.
    你试试哦