2016-06-21 103 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。