我试图构建一个包含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编译器/代码生成/代码内联控制=自动或打开或
- 描述/构建控制/根据需要重建
- Delphi编译器/代码生成/代码内联控制=关闭(这是重要的事情)
- 描述/构建控制/根据需要重建
重新编译包,似乎它工作,它安装正确,我可以编译DwsIdeDemo
我也张贴了解决方案的错误报告你在:http://code.google.com/p/dwscript/issues/detail?id=419
这似乎确实是一个虚假的消息,因为将有问题的包设置为"根据需要重建"不起作用。
对我有用的是将需要重新构建的包从请求它的包的"require"选项卡中删除。在那之后,一切都很好。
查看项目选项>描述>构建控制从显式重建更改为根据需要重建
再见