[Error]   ZLib.pas(222):   Unsatisfied   forward   or   external   declaration:   'inflate_trees_free'   
  [Error]   ZLib.pas(562):   Unsatisfied   forward   or   external   declaration:   '@zcalloc'   
  [Error]   ZLib.pas(562):   Unsatisfied   forward   or   external   declaration:   '@zcfree'   
  [Error]   ZLib.pas(562):   Unsatisfied   forward   or   external   declaration:   '_z_errmsg'   
  [Fatal   Error]   UClnMain.pas(8):   Could   not   compile   used   unit   'ZLib.pas'
   
到底怎么回事?急死了

解决方案 »

  1.   

    你是怎么编译的?你的zlib的位置,及是否加入了project等具体的情况是什么样的?
      

  2.   

    我在interface 里uses zlib,
    在环境路径里加入了Zlib的路径,
    在project里也加入了搜索路径
    ======
    前2次还编译通过了,后来就不能编译了,不知道怎么了?????
    9999999999
      

  3.   

    1.检查一下zlib.pas的修改日期,是否无意中修改了这个文件;(这个可能性,比较小)
    2.检查一下,use zlib的单元,看相关的代码有无变动(如果有cvs,svn等版本控制工具,就容易多了)3.删除project的编译的文件,如*.dcu等等(如GExperts的Clean Directories的功能,是最好的)然后再重新Build Project试试;
      

  4.   

    对,zlib.pas被修改了,但是我按照以上方法还没编译通过,不知道什么原因,我在家里用zlib.pas新建项目,一切ok,
    把zlib.pas带到公司,放到source\rtl\comma下,
    覆盖原zlib文件,新建了一个工程
    在interface use zlib
    编译时都会在
    procedure inflate_trees_free; external;
    这行过不去,
    并且报如题目所写的错误。
      

  5.   

    如果,是这情况的话,可能需要检查一下,你在公司的开发环境下,除了zlib.pas还有哪些文件修改过了。比如zlib.pas 就分别use了这3个单元,
    SysUtils, Classes;
    ZLibConst;最好是用windows的查找文件功能,查找一下,近期都修改了哪些vcl的文件有时原因可能是很简单的,一个定义不对,或者是少了个分号;引起的