【问题标题】:Projects using Indy don't compile after upgrade to 10.2 Tokyo使用 Indy 的项目在升级到 10.2 Tokyo 后无法编译
【发布时间】:2017-07-19 13:16:46
【问题描述】:

卸载 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(以及 CoreSystem),而 IdSSLOpenSSLHeaders.pasc:\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\ 文件夹中
  • 编辑器在 Uses 子句中的 IdSSLOpenSSL 下显示红色摆动,提示“无法解析单元名称”
  • 磁盘上的意外位置没有旧的 id*.dcu 文件

我发现了两个我都不太满意的解决方法:

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

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

有没有我忽略的更好的解决方案?

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

【问题讨论】:

    标签: delphi indy indy10 delphi-10.2-tokyo


    【解决方案1】:

    找到了。

    涉及两个项目,其中包含一些通用文件。无论我尝试构建两者中的哪一个,都会出现错误。

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

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

    注意:我正在考虑删除我的问题,因为这是一个如此奇怪且无法重现的问题(我逐渐复杂化的测试程序保持编译没有错误)。
    相反,我决定自行回答;谁知道这对谁有帮助。

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

    【讨论】:

    • 我真的不明白保留这个问题的意义。你还没有深究。问题中的细节不足以回答问题。如果我是你,我会摆脱这一切。
    • 您(显然)手动删除旧 .dcu 文件的任何原因?为什么不直接执行“清洁”?
    • @J... 什么是“干净”?在尝试了许多其他方法之后,删除它们的想法只是另一个疯狂的想法。
    • @JanDoggen 右键单击​​您的项目 - 有 CompileBuildClean 选项。 Compile 编译 .dcus 等。Build 编译然后构建输出模块(exe、dll 等)。 Clean 会从任何先前的构建中删除所有 .dcus 和其他生成的文件。这不是一个疯狂的想法 - 事实上,定期清理是一个的想法,尤其是在部署构建之前、版本控制更新之后(以及提交之前!)等,以确保您的代码库仍然连贯并且完好无损,它不仅仅是用坏的.pas 文件和旧文件构建,而是工作,.dcus。
    • @J... 如果我解释正确,'clean' 和 'build' 之间的区别将是第一个也删除不“属于”项目的 .dcu 文件(s )?无论如何,构建都会重新编译属于该项目的所有内容。
    猜你喜欢
    • 1970-01-01
    • 2014-04-27
    • 1970-01-01
    • 1970-01-01
    • 2021-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-07
    相关资源
    最近更新 更多