卸载 Delphi 10 Seattle,删除所有包含“Embarcadero”的目录,然后安装 Delphi 10.2 Tokyo,我使用 Indy 的项目不再编译:
Could not compile used unit 'IdSSLOpenSSLHeaders'
- 项目的搜索路径没有任何变化(这些仅与项目相关)
Tools/Delphi Options/Library/Browsing path
包含$(BDS)\source\Indy10\Protocol
(以及Core和System),并且IdSSLOpenSSLHeaders.pas
在c:\Program Files (x86)\Embarcadero\Studio\19.0\source\Indy10\Protocols\
- 添加
IdSSLOpenSSLHeaders
到 uses 子句没有帮助(因为我使用了设计时组件,所以自动添加了 12 个其他 Indy 文件名) - 表单上有一个 TIdSSLIOHandlerSocketOpenSSL 组件
- 没有任何与 Indy 相关的内容
Tools/Delphi Options/Library/Library Path
IdSSLOpenSSLHeaders.dcu
等在c:\Program Files (x86)\Embarcadero\Studio\19.0\lib\win32\release\
文件夹中- 编辑器在 Uses 子句下方显示红色摆动
IdSSLOpenSSL
,并提示“无法解析单元名称” - 磁盘上的意外位置没有旧的 id*.dcu 文件
我发现了两种我都不太满意的解决方法:
Indy 文件不是项目的一部分;将 IdSSLOpenSSLHeaders.pas 显式添加到项目中使其再次编译,但我对此并不满意:
IdSSLOpenSSLHeaders.pas
现在在该源目录中编译,在那里留下一个 .dcu 文件。
此外,所有其他 Indy 文件都不是项目的一部分。复制
IdSSLOpenSSLHeaders.pas
到IdCompilerDefines.inc
我的项目目录
有没有我忽略的更好的解决方案?
我正在尝试创建一个小项目来重现该问题,但到目前为止,它可以编译???