【问题标题】:Delphi can't find units in the library pathDelphi 在库路径中找不到单元
【发布时间】:2016-09-21 09:26:37
【问题描述】:

我刚刚安装了 Delphi 10.1 Berlin,但我遇到了库路径问题。在库路径中使用单元(至少有一些)时,Delphi 找不到它们,并给出 F2613 错误,“未找到单元 XXX”。

为了设置一个非常简单的测试,我创建了一个名为“SampleUnit.pas”的单元,其中包含一个函数(sum),将文件放在新创建的文件夹“C:\TempLibrary”中,并添加这个文件夹到Options->Delphi Options->Library->Library path。我检查了几次拼写,我完全确定一切都是正确的。然后我做了一个这样的控制台应用程序

program Project1;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  SampleUnit;

begin
  writeln(Sum(12,13));
end.

并编译它。 Boom,“[dcc32 致命错误] Project1.dpr(9): F2613 Unit 'SampleUnit' 未找到。”

如果我用

替换有问题的行
uses
  SampleUnit in 'c:\templibrary\sampleunit.pas';

它工作得很好。在项目搜索路径中添加“C:\TempLibrary”也可以解决问题。

我错过了什么?这适用于以前版本的 Delphi,并且确实适用于 Berlin 版本的其他安装(我在虚拟机上进行了另一个安装,它运行良好)

我意识到这可能是我的设置存在的问题,其他人可能很难/不可能查明,但如果有人能提供任何关于我应该在哪里查看的见解,那就太好了。

更新:

问题已解决,但我不确定究竟是什么解决了它。我开始重新安装,并收到警告说我的系统路径的长度接近长度限制。我清理了系统路径(删除了对旧 RAD 工作室安装的引用等),然后重新安装了 Delphi 10.1 Berlin,现在一切正常。

【问题讨论】:

  • Library path: Specifies search paths where the compiler can find the required files for the package, such as .dcp and .bpi files.
  • @LU RD:什么意思?你的意思是我所做的应该有效,还是不应该有效。我的单元 的路径 在库路径中,但它只是 .pas 文件。我是否需要为 .dcu 文件的放置位置设置一些参数并将 that 路径添加到我的库路径?
  • 源文件(.pas、.dfm、*.inc 等)应进入项目搜索路径,除非您在项目文件中如示例中那样提供该路径。
  • 在柏林之前,我使用 XE 7。我有一组单元保存在一个专用文件夹中,我在许多项目中都使用了这些单元。这工作得很好,无需将这些单元添加到每个项目文件中。您是说这种方法不再有效吗?我认为这就是 Delphi 中库路径的全部想法......
  • @SveinBringsli,太长的系统路径通常是错误的来源。每个版本的 Delphi 都在其中添加了很多东西,突然间你会遇到奇怪的错误。不要在问题中添加此信息,而是将其放在答案中。

标签: delphi


【解决方案1】:

问题似乎是我的系统路径的长度。我通过删除对早期 Delphi 版本和其他一些过时的东西的引用来缩短它并重新安装了 Delphi,现在一切都像以前一样工作了。

PS:缩短系统路径后,我尝试在重新安装Delphi之前构建我的测试项目,但没有成功。可能在安装过​​程中出现了问题,这可能是也可能不是由系统路径的长度引起的。我不能绝对肯定地说是系统路径导致了问题,但它似乎是最有可能的候选者。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-11
    • 1970-01-01
    • 2010-12-21
    • 2020-02-11
    相关资源
    最近更新 更多