使用Indy的项目在升级到10.2东京后不进行编译

时间:2017-07-19 13:16:46

标签: delphi indy indy10 delphi-10.2-tokyo

卸载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(以及核心系统),IdSSLOpenSSLHeaders.pas位于c:\Program Files (x86)\Embarcadero\Studio\19.0\source\Indy10\Protocols\
  • IdSSLOpenSSLHeaders添加到uses子句没有帮助(因为我使用了设计时组件,因此自动添加了12个其他Indy文件名)
  • 表格
  • 上有一个TIdSSLIOHandlerSocketOpenSSL组件
  • Tools/Delphi Options/Library/Library Path
  • 中与Indy无关
  • IdSSLOpenSSLHeaders.dcu等位于c:\Program Files (x86)\Embarcadero\Studio\19.0\lib\win32\release\文件夹
  • 编辑器在“使用条款”中的IdSSLOpenSSL下显示红色小摆动,提示'无法解析单位名称'
  • 磁盘上的意外位置没有旧的id * .dcu文件

我找到了两个我不满意的解决方法:

  1. Indy文件不属于该项目;明确地将IdSSLOpenSSLHeaders.pas添加到项目中使其再次编译,但我对此不满意:IdSSLOpenSSLHeaders.pas现在在该源目录中编译,在那里留下.dcu文件。
    此外,所有其他Indy文件都是项目的一部分。

  2. IdSSLOpenSSLHeaders.pasIdCompilerDefines.inc复制到我的项目'目录

  3. 我有一个更好的解决方案吗?

    我正在尝试创建一个小项目来重现这个问题,但到目前为止这个编译了???

1 个答案:

答案 0 :(得分:0)

找到它。

涉及两个项目,包括一些常见文件。无论我试图建立哪两个,我都得到了错误。

解决方案是删除两个项目本地的所有.dcu文件。

不要问我为什么,但似乎有一些(订单?) * 依赖,建立任何一个都无法解决。
在此之后,我构建的顺序无关紧要。

注意:我正在考虑删除我的问题,因为这是一个非常奇怪且无法解决的问题(我逐渐变得复杂的测试程序,编译时没有错误)。相反,我决定自我回答;谁知道这对未来有什么帮助。

*尝试时,我甚至尝试在Uses语句中更改文件名的顺序,但这没有帮助。