我尝试在Delphi XE7中安装一个组件,其中包含5个DPK,但不幸的是我没有成功。我收到此错误消息:
[dcc32致命错误] XXX1.dpk(1):E2225永不建立包裹' XXX1'必须重新编译
[dcc32致命错误] XXX2.dpk(34):E2202必填包' XXX1'找不到
当我单独编辑XXX1时,它运行正常!
我不知道如何构建所有5个DPK而没有任何错误。
[编辑:]基于Remy's answer,我将第一个dbk中的最后一行从{$IMPLICITBUILD OFF}
更改为{$IMPLICITBUILD ON}
,如下所示,但仍然相同错误,现在的问题是什么?
{$R *.res}
{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users}
{$ALIGN 8}
{$ASSERTIONS ON}
{$BOOLEVAL OFF}
{$DEBUGINFO ON}
{$EXTENDEDSYNTAX ON}
{$IMPORTEDDATA ON}
{$IOCHECKS ON}
{$LOCALSYMBOLS ON}
{$LONGSTRINGS ON}
{$OPENSTRINGS ON}
{$OPTIMIZATION OFF}
{$OVERFLOWCHECKS OFF}
{$RANGECHECKS OFF}
{$REFERENCEINFO ON}
{$SAFEDIVIDE OFF}
{$STACKFRAMES ON}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON}
{$WRITEABLECONST OFF}
{$MINENUMSIZE 1}
{$IMAGEBASE $400000}
{$DEFINE DEBUG}
{$ENDIF IMPLICITBUILDING}
{$IMPLICITBUILD ON}
答案 0 :(得分:0)
第二个错误只是第一个错误的副作用。
第一个错误是因为需要重新编译DPK,可能是因为找不到DCU,但它有一个{$IMPLICITBUILD OFF}
指令来防止隐式重新编译。当您手动重新编译DPK时,它可以正常工作。然后第二个错误应该消失,只要第二个DPK可以找到第一个DPK的已编译DCU。