紧急求救:无法解析的外部符号 _inflateEnd

red_berries 2008-04-14 10:16:36
使用zlib.lib一个压缩库静态连接到工程时报了上面的错误,哪位inflateEnd这个函数是从zlib.lib中导出来的,可zlib.lib我已经连接了,可还是报错,请指教,如果要源代码可以留下email或给我发消息留下email,谢谢啦
...全文
3191 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
kojie_chen 2009-07-03
  • 打赏
  • 举报
回复
我的只要在头文件里加入了这个:
#pragma comment(lib, "zlib1d.lib")
就行了,这个zlib1d.lib是我下载zlib123后编译以后生成的,还有个同名的.dll文件,我同时把zlib.h zconf.h zlib1d.lib 和zlibld.dll都copy到
工程底下编译就通过了。
meiZiNick 2008-04-30
  • 打赏
  • 举报
回复
有问题请先GOOGLE,BAIDU
abuseyoudna1981 2008-04-15
  • 打赏
  • 举报
回复
发回来给我吧,我这边是没问题的.
red_berries 2008-04-15
  • 打赏
  • 举报
回复
好像还不行啊,就是你发给我的那个工程,还是那个连接错误.
red_berries 2008-04-15
  • 打赏
  • 举报
回复
早上已经给你发回去了,那就奇怪了,会是什么原因啊
abuseyoudna1981 2008-04-14
  • 打赏
  • 举报
回复
lib的路径,把lib拷到你的EXE同一路径下.
red_berries 2008-04-14
  • 打赏
  • 举报
回复
回楼上怎么看lib中有没有inflateEnd的实体啊.
另外原来这个zlib.lib和那些源文件是一个lib工程,我把他们全添加到了我的工程中,我的工程中也就一个 .cpp文件.结果就编绎不过了,原来的那个lib工程可以编绎通过.
iGoo 2008-04-14
  • 打赏
  • 举报
回复
1:查找是否有inflateEnd函数的实体
2:检查zlib.lib库的版本是否正确
abuseyoudna1981 2008-04-14
  • 打赏
  • 举报
回复
已经帮你解决了.
red_berries 2008-04-14
  • 打赏
  • 举报
回复
代码已经发送了,谢谢大侠
abuseyoudna1981 2008-04-14
  • 打赏
  • 举报
回复
abuseyoudna1981@163.com
red_berries 2008-04-14
  • 打赏
  • 举报
回复
楼上意思没明白啊,能否再详细点哈
hdqqq 2008-04-14
  • 打赏
  • 举报
回复
把zlib.lib发到lib设置查找目录中.
red_berries 2008-04-14
  • 打赏
  • 举报
回复
是的,不过那个dll工程只生成了.lib文件,现在的问题是这个工程也使用了zlib.lib,并且编绎连接都通过了,可我把这个工程的源文件和头文件copy到我的工程中时就出现了连接错误,要不把源代码发给你看看?就几个文件
abuseyoudna1981 2008-04-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 red_berries 的回复:]
回楼上怎么看lib中有没有inflateEnd的实体啊.
另外原来这个zlib.lib和那些源文件是一个lib工程,我把他们全添加到了我的工程中,我的工程中也就一个 .cpp文件.结果就编绎不过了,原来的那个lib工程可以编绎通过.
[/Quote]


我想搞清楚,你是不是把一个DLL里面的CPP,加到你自己的工程里面去编译.
abuseyoudna1981 2008-04-14
  • 打赏
  • 举报
回复
确保函数已经正确导出.
red_berries 2008-04-14
  • 打赏
  • 举报
回复
正在搜索库
正在搜索 zlib.lib:
正在搜索 d:\软件\Microsoft Visual Studio 8\VC\atlmfc\lib\mfc80ud.lib:

这个到底是找到了吗?我已经把zlib.lib放到debug目录了,并且工程目录那也放了
red_berries 2008-04-14
  • 打赏
  • 举报
回复
zlib.lib已经连接上了,看附的连接信息
回楼上,头文件有这此函数的声明,要不然编绎应该是通不过的吧,另外此zlib库应该不依赖别的库,因为上上一个生成lib库的工程中使用它就没出问题.


============================附===============================================
正在编译资源清单...
正在链接...
正在启动传递 1
.....
已处理 /DEFAULTLIB: zlib.lib
正在搜索库
正在搜索 zlib.lib:
正在搜索 d:\软件\Microsoft Visual Studio 8\VC\atlmfc\lib\mfc80ud.lib:
已找到 "void __cdecl operator delete(void *)" (??3@YAXPAX@Z)
已在 ZUBaseFile.obj 中引用
已在 ZipException.obj 中引用
已在 ZipFile.obj 中引用
已在 ZipFile.obj 中引用
已在 ZUBaseFile.obj 中引用
已在 stdafx.obj 中引用

...........

已完成库搜索
已完成传递 1
正在生成非 SAFESEH 映像。
正在调用 CVTRES.EXE:
/machine:x86
/verbose
/out:"C:\DOCUME~1\red\LOCALS~1\Temp\lnk73.tmp"
/readonly
".\Debug\test.exe.embed.manifest.res"
Microsoft (R) Windows Resource To Object Converter 版本 8.00.50727.42
版权所有 (C) Microsoft Corporation。保留所有权利。
正在添加资源。type:MANIFEST, name:1, language:0x0409, flags:0x30, size:2048
UnzipFile.obj : error LNK2019: 无法解析的外部符号 _inflateEnd,该符号在函数 "public: void __thiscall CUnzipFile::CloseCurrentFile(void)" (?CloseCurrentFile@CUnzipFile@@QAEXXZ) 中被引用
UnzipFile.obj : error LNK2019: 无法解析的外部符号 _inflateInit2_,该符号在函数 "public: void __thiscall CUnzipFile::OpenCurrentFile(void)" (?OpenCurrentFile@CUnzipFile@@QAEXXZ) 中被引用
UnzipFile.obj : error LNK2019: 无法解析的外部符号 _inflate,该符号在函数 "public: int __thiscall CUnzipFile::ReadCurrentFile(void *,unsigned int)" (?ReadCurrentFile@CUnzipFile@@QAEHPAXI@Z) 中被引用
UnzipFile.obj : error LNK2019: 无法解析的外部符号 _crc32,该符号在函数 "public: int __thiscall CUnzipFile::ReadCurrentFile(void *,unsigned int)" (?ReadCurrentFile@CUnzipFile@@QAEHPAXI@Z) 中被引用
ZipFile.obj : error LNK2001: 无法解析的外部符号 _crc32
ZipFile.obj : error LNK2019: 无法解析的外部符号 _deflateInit2_,该符号在函数 "public: void __thiscall CZipFile::OpenNewFileInZip(class ATL::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > >,struct zip_fileinfo &,int,class ATL::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > >,void const *,unsigned int,void const *,unsigned int,int)" (?OpenNewFileInZip@CZipFile@@QAEXV?$CStringT@_WV?$StrTraitMFC_DLL@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@AAUzip_fileinfo@@H0PBXI2IH@Z) 中被引用
ZipFile.obj : error LNK2019: 无法解析的外部符号 _deflate,该符号在函数 "public: void __thiscall CZipFile::WriteInFileInZip(void const *,unsigned int)" (?WriteInFileInZip@CZipFile@@QAEXPBXI@Z) 中被引用
ZipFile.obj : error LNK2019: 无法解析的外部符号 _deflateEnd,该符号在函数 "public: void __thiscall CZipFile::CloseFileInZip(void)" (?CloseFileInZip@CZipFile@@QAEXXZ) 中被引用
D:\我的文档\Visual Studio 2005\Projects\test\Debug\test.exe : fatal error LNK1120: 7 个无法解析的外部命令

ouyh12345 2008-04-14
  • 打赏
  • 举报
回复
1、看zlib的头文件里有没有此函数的声明
2、如果没有,则zlib依赖其它的库,找到并加入到工程里
scq2099yt 2008-04-14
  • 打赏
  • 举报
回复
up

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧