Zlib单元不能编译了

Zlib单元不能编译了 Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiAPI/html/delphi_20061204173958124.html
[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'  
         
  到底怎么回事?急死了

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

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

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

up

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

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

posted on 2008-09-23 09:32  delphi2007  阅读(508)  评论(0编辑  收藏  举报