【问题标题】:Delphi "E2161 Error: RLINK32: Error opening file ________.drf " during Build AllDelphi "E2161 Error: RLINK32: Error opening file ________.drf" 在 Build All 期间
【发布时间】:2009-07-31 23:00:06
【问题描述】:

我正在尝试解决一组包that apparently have dependency issues 的问题。偶尔在 Build All 期间,我会收到此错误:

Delphi“E2161 错误:RLINK32:打开文件 ________.drf 时出错”

什么意思/表示,什么是“drf”文件?

【问题讨论】:

    标签: delphi packages custom-component


    【解决方案1】:

    除了Solving the 'cannot find drf file' problem when compiling packages 文章之外,我还遇到了Delphi bug report #44134,其中一位评论者提到问题源于您的 .dpk 文件与 .pas 文件位于同一目录中,而同一目录位于库路径和“根据需要重建”已启用。

    因此,您可以通过三个选项来解决此问题:

    • 关闭“根据需要重建”。这似乎是最常见的解决方案。
    • 将您的软件包文件(*.dpk*.dproj)放到一个单独的目录中,然后重新安装软件包。我已经成功了。
    • 从库路径中删除包含 .dpk 和 .pas 文件的目录。请注意,Delphi 会在某些情况下重新添加它,包括在您安装/重新安装软件包时。

    【讨论】:

    • 非常有帮助/很高兴知道——感谢您提供的信息。 (听起来我们已经走上了类似的道路)。
    • 我没有移出项目文件,因为我已经在构建 dcus 并且全部在 Lib 文件夹中,我修改了 IDE 库路径并从那里删除了我的包路径。当您“安装”一个软件包时,Delphi 会不断添加它。显然在其他一些情况下也是如此......
    • 当你在一两年内遇到一个问题时,你会觉得很奇怪,然后用谷歌搜索它并发现你自己确实找到了解决方案。记性不好有什么办法?
    【解决方案2】:

    看起来this 原来是主要问题/解决方案。

    打开所有你有源代码的包,并指定编译选项: “显式重建”而不是“需要时重建”。

    【讨论】:

    • “根据需要重建”有一些合乎逻辑的原因,尤其是当您拥有源代码时。想象一下在一个包含包的多项目应用程序上工作,您经常会修改某个包中的一个单元。很高兴让 IDE 为您重新编译包,而不是每次都记得自己重新编译。
    【解决方案3】:

    嗯...从来没有听说过他们。我刚刚搜索了激发您链接到的问题的项目,并且没有任何带有“DRF”扩展名的内容。检查here 并没有发现任何与德尔福相关的东西。但事实上这是一个链接器错误,而不是编译器错误,这让我猜测前两个字母代表“Delphi Resource”。

    尝试搜索项目的目录树,看看是否可以找到任何具有 DRF 扩展名的内容。如果是这样,请尝试使用文本编辑器打开它,看看它是否可读,如果不是,如果您知道有关读取二进制文件格式的任何内容,请尝试使用十六进制编辑器。看看你能不能理解它。

    如果你没有找到,那么 Delphi 可能是从它正在编译的代码中的某个地方得到的。尝试在目录树上运行 grep 搜索“DRF”,看看是否有任何结果。

    【讨论】:

      【解决方案4】:

      来自http://www.delphifaq.com/faq/delphi/delphi_ide/f157.shtml

      当你用包编译时,你 可以指定哪些包应该是 考虑联动。包裹 项目的需求被存储 进入临时 Windows 资源文件 带有 .DRF 扩展名。

      无论带有许多下划线的文件是什么,链接器很可能会在它认为的临时目录中搜索它(您可以使用filemon 确认这一点)。 DelphiFaq 的解释是错误定义的 %TEMP% 是罪魁祸首,这很可能是任何原因。

      【讨论】:

      • 写入.drf文件时出现DelphiFAQ错误。上述问题是打开文件时出错。 (并且显然是一个已知的、长期运行的 Delphi 错误。)
      【解决方案5】:

      有时问题是文件访问权限。

      解决方法是以管理员身份运行 Delphi。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-28
        • 1970-01-01
        • 2022-07-11
        • 2012-06-03
        • 2014-05-18
        • 2022-06-16
        相关资源
        最近更新 更多