程序中要用到别人提供的前一个版本DLL,包括lib,.h文件在内,编译连接是正常的。现在最新的dll, lib , .h文件都有更新,我用与以前一样的方法添加到程序里,却出现错误,fatal error LNK1136: invalid or corrupt file。使用方法与以前是一样的,包含头文件,在link选项中添加lib。
如果使用新的dll和旧的lib文件可以编译通过,但使用某些新函数时,编译会有LNK:2001 unresolved external symbol 错误。这是什么问题?会不会是别人提供的lib文件有问题?
急待答案,谢谢各位。

解决方案 »

  1.   

    Linker Tools Error LNK1136
    invalid or corrupt fileThe input file either has a corrupt header or is zero size or abnormally small.lib里函数的声明与头文件的声明不一致,猜的
      

  2.   

    你用新的dll和旧的lib一起用,如果新的dll改动了接口函数,当然会出错了。
    全部用新的好了。
      

  3.   

    ls 全部用新的才有问题。如果用新的dll和旧的lib反而可以编译通过。只是引用一些(新)函数的时候有外部连接错误
      

  4.   

    那么可以肯定讲,是新的LIB出错了!