8

I'm trying to build a package (package A) that contains the DWS compiler. It works, but when I then have a second package (package B) that requires package A, containing any unit that uses a specific unit from DWS, I get the error:

[DCC Fatal Error] E2225 Never-build package 'Package A' must be recompiled

If I change package A to recompile-as-needed, the error doesn't go away. I instead get

[DCC Fatal Error] F2084 Internal Error: U10346

at the same point.

I posted a bug report at http://code.google.com/p/dwscript/issues/detail?id=419 and it appears that the problem isn't reproducible on the author's end, which means that something's going wrong on my end. He offered some helpful advice: "I've sometimes seen this error because of a stray DCU."

Searching for and deleting all DCUs that could possibly be relevant did not resolve the issue, even after restarting both the IDE and the computer.

Running a trace on BDS using Process Monitor during the compilation process did not reveal anything that looked relevant.

Does anyone have any ideas on how to track this down? Using Delphi XE, update 1.

Cross posting to the Delphi forums. Let's see who comes up with a solution first.

4

3 回答 3

9

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

看来问题是由编译器内联功能引起的。我记得使用内联方法时会导致错误并且该方法太大。

这个错误是 Delphi XE 独有的,似乎从未修复过。

检查软件包的下一个选项

1) dwsLibRuntime 包

  • Delphi 编译器/代码生成/代码内联控制 = Auto 或 On 或 OFF
  • 描述/构建控制/根据需要重建

2) dwsLib 包

  • Delphi Compiler/Code generation/Code inlining Control = OFF(这很重要)
  • 描述/构建控制/根据需要重建

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

我还发布了您在以下位置提交的错误报告的解决方案: http ://code.google.com/p/dwscript/issues/detail?id=419

于 2013-09-11T10:35:34.517 回答
2

这确实似乎是一条虚假消息,因为将相关包设置为“根据需要重建”不起作用。

然而,对我有用的是从需要它的包上的“需要”选项卡中删除需要重建的包。在那之后,一切都建立得很好。

于 2015-01-26T12:10:11.940 回答
-2

对于packadge,请查看 Project Option > Description > Build Control 根据需要从 Explicit Rebuild 更改为 Rebuild

再见

于 2014-02-07T18:09:08.463 回答