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

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

  • 相关阅读:
    javascript操作cookie实例
    由浅到深了解JavaScript类[转过来的收藏]
    [MySql识记]create utf8 database
    关于游戏开发中的A*/Astar的寻路算法的问题
    对与list<>泛型的一些操作方法
    浅谈完美时空的小气
    npgsql连接postgresql数据库
    哪个美女最漂亮,自己写的js图片自适应切换
    javascript改变this指针
    [图解] 你不知道的 JavaScript “this”(转)
  • 原文地址:https://www.cnblogs.com/lidabo/p/7150705.html
Copyright © 2011-2022 走看看