调用EncodeStream函数编译错误

lyyiangang 2011-04-05 04:47:39
[Linker Error] Unresolved external '__fastcall Encddecd::EncodeStream(Classes::TStream *, Classes::TStream *)' referenced from D:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\发送邮件调试\GOOD - CHANGE\UNIT1.OBJ

在用indy控件编写邮件发送邮件发送程序时,调用EncodeStream函数发现了上面的编译错误,可是已经包含了头文件#include "encddecd.hpp",点击了EncodeStream函数,能查到其文件在include\vcl\encddecd.hpp,很郁闷,为什么编译不通过??论坛上还说将encddecd.pas加入到工程中,可是搜索了下,没有发现这个文件
...全文
186 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lyyiangang 2011-04-08
  • 打赏
  • 举报
回复
[Quote=引用楼主 lyyiangang 的回复:]
[Linker Error] Unresolved external '__fastcall Encddecd::EncodeStream(Classes::TStream *, Classes::TStream *)' referenced from D:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\发送邮件调试\GOOD - CHANGE\UNIT1.OB……
[/Quote]
谢谢老妖,添加了那个#pragma link "soaprtl.lib"之后,就能正常编译了
mhss9301 2011-04-05
  • 打赏
  • 举报
回复
发邮件的话, 我已经用ICS了, Indy编码的Bug很让人头疼, 楼主可以试试
ccrun.com 2011-04-05
  • 打赏
  • 举报
回复
[Linker Error] Unresolved external '***' referenced from ***
这样的提示,表示某个类或函数或变量的实现部分没有找到。encddecd.hpp文件中只是对函数的EncodeStream声明。实现部分需要添加到工程中才可以正常链接。

将encddecd.pas加入到工程中是一个方法(默认在$(BCB)\Source\Internet目录中),但是如果C++Builder安装的不完整,就可能不带VCL源码。

还有一个解决方法,是将soaprtl.lib加入到工程中:
#pragma link "soaprtl.lib"

13,870

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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