Delphi 10安装Indy 10.6.3.5编译IndyProtocols230报错求助
彻底清理编译缓存与残留文件
除了运行Lib\Clean_Seattle.cmd,手动删除Delphi本地编译缓存目录(比如C:\Users\<你的用户名>\AppData\Local\Embarcadero\BDS\17.0\Cache,Delphi 10 Seattle对应版本号17.0);同时检查System32和SysWOW64目录,若存在IndyProtocols230.bpl、dclIndyProtocols230.bpl等残留文件,直接删除。核对包的编译顺序与依赖路径
确保System、Core包已正确安装注册到IDE,且编译Protocols包时的目标平台(Win32/Win64)与前两个包一致;打开IndyProtocols230.dpk,检查requires段对IndySystem、IndyCore的引用路径,确认指向当前解压的新文件夹,而非旧路径。调整包的编译选项
打开Protocols包的项目选项,在Build页取消勾选Never Build选项;切换到Directories/Conditionals页,确认Output Directory和Unit Output Directory设为当前包的输出目录,避免与旧文件冲突;勾选Rebuild all强制重新编译所有依赖单元。针对非必需组件的简化处理(适配你当前需求)
既然暂时不需要TIdDICT、TIdFTP、TIdHTTPServer,除了移除uses和RegisterComponents中的相关代码,还可以在IdRegister.pas中注释掉这些组件的注册代码,同时在IndyProtocols230.dpk的contains段移除对应的单元文件(如IdDICT.pas、IdFTP.pas、IdHTTPServer.pas),减少编译依赖。尝试重建包项目
备份当前的IndyProtocols230.dpk和dclIndyProtocols230.dpk,手动创建新的包项目,重新添加Protocols相关单元(排除不需要的组件对应单元),再尝试编译安装。
内容的提问来源于stack exchange,提问作者fourwhey

