4

我正在尝试使用一组显然存在依赖性问题的包来解决问题。偶尔在 Build All 期间,我会收到此错误:

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

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

4

5 回答 5

4

除了在编译包时解决“找不到 drf 文件”问题一文外,我还遇到了Delphi 错误报告 #44134,其中一位评论者提到问题源于您的 .dpk 文件与您的 .dpk 文件位于同一目录中。当同一目录位于库路径中并启用“根据需要重建”时,pas 文件。

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

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

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

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

于 2009-09-21T22:37:24.773 回答
2

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

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

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

于 2009-07-31T23:48:36.770 回答
2

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

使用包编译时,可以指定应考虑链接哪些包。项目的包要求存储在一个带有 .DRF 扩展名的临时 Windows 资源文件中。

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

于 2009-08-01T13:52:51.887 回答
0

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

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

于 2014-03-06T16:11:08.827 回答