You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RAD Studio XE编译报错:未解析TIdSMTP析构函数,求Indy安装方法

解决RAD Studio XE中TIdSMTP链接器未解析外部符号问题

出现[Linker Error] Unresolved external '__fastcall Idsmtp::TIdSMTP::~TIdSMTP()'错误,说明Indy组件的库文件未正确链接到项目中,以下是具体解决步骤:

1. 确认IDE中Indy组件状态

RAD Studio XE默认集成了Indy 10,先查看组件面板是否存在Indy Clients、Indy Servers分类。如果找不到,说明组件包未安装;如果存在但编译报错,大概率是组件包未正确编译。

2. 重新编译安装Indy组件包

  • 打开RAD Studio XE,点击File > Open > Project,导航到路径:C:\Program Files (x86)\Embarcadero\RAD Studio\7.0\source\Indy\Indy10\Lib\CBuilder
  • 先打开dclIndyCoreXE.cbproj,右键项目选择Build,编译完成后点击Install,等待IDE提示组件安装成功后,建议重启IDE
  • 再打开dclIndyProtocolsXE.cbproj,重复Build和Install操作——这个包包含TIdSMTP这类协议组件,必须安装

3. 检查项目链接与路径设置

  • 打开出错的项目,进入Project > Options > C++ Linker,确认Link with dynamic RTL已勾选(使用动态包时)
  • 进入Project > Options > Paths and Symbols > Library Path,检查是否添加了Indy的头文件和库路径:
    • 头文件路径:C:\Program Files (x86)\Embarcadero\RAD Studio\7.0\source\Indy\Indy10\Include
    • 库文件路径:C:\Program Files (x86)\Embarcadero\RAD Studio\7.0\lib\Win32\Release(Debug编译则选Debug目录)

4. 清理项目后重新编译

  • 手动删除项目目录中的*.obj、*.tds、*.exe等生成文件,或直接点击Project > Clean
  • 选择Project > Build,重新编译整个项目

5. 替换兼容的最新Indy版本(可选)

若上述步骤无效,可能是自带Indy版本存在bug。下载适配RAD Studio XE的Indy 10稳定版(必须支持XE版本):

  • 备份原Indy目录(C:\Program Files (x86)\Embarcadero\RAD Studio\7.0\source\Indy),用新源码覆盖原目录
  • 重复步骤2的编译安装操作,最后清理项目重新编译

内容的提问来源于stack exchange,提问作者user369287

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 15:10:55