我想在vs2010中使用zlib里面的函数,可是把dll和lib都拷贝到工程目录下面添加进工程以后还是不行,连接的时候提示错误:
zlib_bor.lib : fatal error LNK1136: 无效或损坏的文件
是不是我的方法不对?应该怎样调用呢?

解决方案 »

  1.   

    可能是zlib编译的方式不对
    找到zlib的源码
    然后重新编译
    编译时在project settings -> c/c++ -> code generation -> Use runtime library下的单线程和多线程选项都试一试,可能可以。
      

  2.   

    我是在"解决方案资源管理器"里面添加的"现有项",加进了zlib.h  zconf.h   zdll.lib  
    在代码里面这样写的:
    #include "zlib.h"
    #include "zconf.h"
    #pragma comment(lib,"zdll.lib")可是调试的时候它提示错误:
    zlib_bor.lib : fatal error LNK1136: 无效或损坏的文件
    根本就没有zlib_bor.lib这个文件啊,在gzip的说明里面这个似乎是给Borland C++用的,不知道哪里出错了呀?
      

  3.   

    Borland C++安装后的路径下有个implib.exe,这个工具可以zlib_bor.lib转换为MSVC支持的lib类型,再试试。主要是BCB和VC支持的lib文件格式不同一个是COFF,一个是!@##$%#^^%$^&^,记不清了。
      

  4.   

    找到解决方法了,原来把zdll.lib重命名为zlib_bor.lib就搞定了,居然绕了我好几天……谢谢各位帮忙