【问题标题】:indy-10.2.0.1/fpc/IdStackUnix.pas(610,19) Error: Identifier not found "socket"indy-10.2.0.1/fpc/IdStackUnix.pas(610,19) 错误:找不到标识符“socket”
【发布时间】:2015-12-11 18:36:16
【问题描述】:

我为 Lazarus 下载了 Indy10,但是当我尝试编译它时出现此错误:

"indy-10.2.0.1/fpc/IdStackUnix.pas(610,19) 错误:找不到标识符 "套接字""

如何解决? 感谢您的回复。

【问题讨论】:

  • 我从来没有运气使用官方 repo 从头开始​​在 Lazarus 上安装 Indy。我可以提出3种方式:1)在Lazarus官方论坛提问; 2) 使用来自其他来源的改编版 Indy(我有幸使用 CodeTyphon,从中获得 Indy:CodeTyphonIns.zip/installbin/allzips/src/typhon_src.7z/typhon/components/pl_Indy 并将包要求 bs_ideintf 更改为 IDEIntf)和 3)查看 other networking libraries。跨度>
  • 听起来是对的。对于 unix,其中没有带有标识符“socket”的受支持单元。听起来你有一个旧版本,如果不是 Windows,它会切换到 Kylix 兼容性。

标签: compiler-errors debian lazarus indy10


【解决方案1】:

10.2.0 是一个 非常 旧版本的 Indy。这在 Indy 的下载页面上有明确说明:

Development Snapshot 下载源代码并将源文件解压缩到您在 PC 上选择的文件夹中。

来自版本控制系统的旧代码,被组织成合理的分布。此更新于 2007 年 11 月 13 日。请阅读此发行版中包含的 README 文件。

•indy-10.2.0.3.zip - 适用于 Windows 用户。
•indy-10.2.0.3.tar.gz - 适用于 Unix/Linux 系统用户。

当前的 Indy 版本是 10.6.2。旧的 FPC 版本不再适用,很久以前它被合并到主代码库中。 IdStackUnix.pas 不再直接调用socket(),而是调用FreePascal 的fpsocket() 函数。你需要download an up-to-date version

【讨论】:

  • 其实我已经尝试过使用这个版本,但是在安装过程中出现错误:“lazarus.pp: Can't find unit lclbase used by lazarus”。如何解决这个问题?我尝试将lclbase包添加到indylaz,但并没有解决问题,而且indy文件夹中没有这个名称的单元!
  • AFAIK Indy 不使用lclbaseFreePascal/Lazarus forum 上有很多讨论,描述了如何在 Lazarus 中安装 Indy。
猜你喜欢
  • 1970-01-01
  • 2013-12-31
  • 2013-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多