Zlib单元不能编译了 Delphi / Windows SDK/APIhttp://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的文件
有时原因可能是很简单的,一个定义不对,或者是少了个分号;引起的