2016-06-21 108 views
1

我试图在Delphi XE7中安装一个组件,其中包含5个DPK,但不幸的是我没有成功。我得到这个错误消息:Delphi组件安装错误

[dcc32致命错误] XXX1.dpk(1):E2225决不-build程序包 'XXX1' 必须重新编译
[dcc32致命错误] XXX2.dpk(34):E2202需要的软件包'XXX1'找不到

当我单独编译XXX1时,它工作正常!

我不知道如何建立所有5个DPK没有任何错误。

[编辑:]基于Remy's answer,我改变了从{$IMPLICITBUILD OFF}拳头DBK最后一行{$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

你试图安装什么组件?如果没有读者知道这一点,我看不出你会得到多少帮助。 – MartynA

+0

@MartynA:我怀疑它是Indy,它有5个DPK,并且禁用了隐式编译。这个错误并非闻所未闻。 –

回答

0

第二个错误只是第一个错误的副作用。

第一个错误是因为DPK需要重新编译,可能是因为没有找到DCU,但它有一个{$IMPLICITBUILD OFF}指令来防止隐式重新编译。当您手动重新编译DPK时,它会起作用。然后,第二个错误应该消失,只要第二个DPK可以找到第一个DPK编译的DCU。