zoukankan      html  css  js  c++  java
  • error LNK2019: 无法解析的外部符号 _deflate

    我的环境为: Win764 + VS2005 + zlib1.2.8

    zlib1.2.8我使用VS2010来编译。

    -------------------------------------------------------------------------------------------------

    我导入zlib库的代码如下:

    #include "zlib128/zlib.h"
    // #pragma comment(lib, "zlib128/zlibwapi.lib")  // 链接zlib动态库
    #pragma comment(lib, "zlib128/zlibstat.lib")  // 链接zlib静态库

    编译使用zlib的工程,出现错误信息如下:

    1>Gzip.obj : error LNK2019: 无法解析的外部符号 _deflateEnd 

    1>Gzip.obj : error LNK2019: 无法解析的外部符号 _deflate
    1>Gzip.obj : error LNK2019: 无法解析的外部符号 _deflateInit2_
    1>Gzip.obj : error LNK2019: 无法解析的外部符号 _inflateEnd
    1>Gzip.obj : error LNK2019: 无法解析的外部符号 _inflate
    1>Gzip.obj : error LNK2019: 无法解析的外部符号 _inflateInit2_

    fatal error LNK1120: 6 个无法解析的外部命令error LNK2019: 无法解析的外部符号 _deflate

    从错误信息可以看出,在我使用的每个zlib库函数的前面都多出了一个下划线,如 _deflate,

    通过查看zlibwapi.dll的导出函数,发现相应的函数前面并没有下划线,也就难道编译会链接错误了。

    ------------------------------------------------------------------------------------------------------------------------------------------------------

    解决思路:

    zlib.h头文件,定义了zlib库的导出函数原型,如:ZEXTERN intZEXPORT deflateEnd OF((z_streamp strm));

    注意红色的ZEXPORT ,其原型在zconf.h文件里面定义:

    #ifndef ZEXPORT
    #  define ZEXPORT 
    #endif

    看到了吗,默认的ZEXPORT宏,只是个空符号罢了,而实际是其应该表示函数的调用方式。

    --------------------------------------------------------------------------------------------------------------------------------------------------------------

    解决方法:

    在zconf.h文件将ZEXPORT宏的定义改成下面的形式即可:

    #ifndef ZEXPORT
    #  define ZEXPORT WINAPI
    #endif

    -----------------------------------------------------------------------------------------------------------------------------------------------------------

  • 相关阅读:
    MYSQL存储引擎
    微信公众号自定义菜单
    TCP 三次握手与四次挥手
    微信扫码关注公众号并登录网站
    redis scan命令使用
    [转]Maven多模块结构下版本管理的正确姿势-revision
    线程间的协作wait,notify,sleep,yield,join
    GIT 撤销操作
    Kafka学习理解-listeners配置
    Kafka 简介梳理
  • 原文地址:https://www.cnblogs.com/lidabo/p/7150705.html
Copyright © 2011-2022 走看看