德尔福XE:构建软件包时出现虚假"Never-build package must be recompiled"/"F2084 Internal Error: U10346"错误



我试图构建一个包含DWS编译器的包(包a)。它可以工作,但是当我有第二个包(包B) 需要包a,其中包含使用来自DWS的特定单元的任何单元时,我得到错误:

[DCC致命错误]E2225 Never-build package ' package A'必须重新编译

如果我将包A更改为按需重新编译,错误不会消失。而是得到

[DCC Fatal Error] F2084 Internal Error: U10346

在同一点

我在http://code.google.com/p/dwscript/issues/detail?id=419上发布了一个错误报告,似乎这个问题在作者的端是不可复制的,这意味着我的端出了问题。他提供了一些有用的建议:"我有时会看到这个错误是因为丢失了DCU。"

搜索并删除所有可能相关的dcu并不能解决问题,即使在重新启动IDE和计算机之后也是如此。

在编译过程中使用Process Monitor在BDS上运行跟踪没有显示任何看起来相关的内容。

有谁知道如何追踪这个吗?使用Delphi XE,更新1.

交叉发布到Delphi论坛。

我也遇到了这个问题,并找到了一个解决方法。

似乎这个问题是由编译器内联特性引起的。我记得那个bug是在使用内联方法时引起的,而且那个方法太大了。

这个错误是Delphi XE独有的,似乎永远不会修复。

检查包的下一个选项

1) dwsLibRuntime包

  • Delphi编译器/代码生成/代码内联控制=自动或打开或
  • 描述/构建控制/根据需要重建
2) dwsLib package
  • Delphi编译器/代码生成/代码内联控制=关闭(这是重要的事情)
  • 描述/构建控制/根据需要重建

重新编译包,似乎它工作,它安装正确,我可以编译DwsIdeDemo

我也张贴了解决方案的错误报告你在:http://code.google.com/p/dwscript/issues/detail?id=419

这似乎确实是一个虚假的消息,因为将有问题的包设置为"根据需要重建"不起作用。

对我有用的是将需要重新构建的包从请求它的包的"require"选项卡中删除。在那之后,一切都很好。

查看项目选项>描述>构建控制从显式重建更改为根据需要重建

再见

相关内容

  • 没有找到相关文章

最新更新