2014-02-18 29 views
1

如何將msvcrt.lib與delphi鏈接?我正嘗試將Delphi文件鏈接到.obj文件。它的工作原理,但它有太多缺失的依賴關係。如何鏈接msvcrt.lib?

[dcc32 Error] Project1.dpr(24): E2065 Unsatisfied forward or external declaration: '__purecall' 
[dcc32 Error] Project1.dpr(24): E2065 Unsatisfied forward or external declaration: '[email protected]@Z' 
[dcc32 Error] Project1.dpr(24): E2065 Unsatisfied forward or external declaration: '[email protected]@Z' 
[dcc32 Error] Project1.dpr(24): E2065 Unsatisfied forward or external declaration: '_atexit' 
[dcc32 Error] Project1.dpr(24): E2065 Unsatisfied forward or external declaration: '__imp___hypot' 
[dcc32 Error] Project1.dpr(24): E2065 Unsatisfied forward or external declaration: '__imp__memchr' 
[dcc32 Error] Project1.dpr(24): E2065 Unsatisfied forward or external declaration: '__imp__memmove' 
[dcc32 Error] Project1.dpr(24): E2065 Unsatisfied forward or external declaration: '[email protected]@@[email protected]' 
[dcc32 Error] Project1.dpr(24): E2065 Unsatisfied forward or external declaration: '[email protected][email protected]@@QAEXXZ' 
[dcc32 Error] Project1.dpr(24): E2065 Unsatisfied forward or external declaration: '[email protected]@@YAXXZ' 
[dcc32 Error] Project1.dpr(24): E2065 Unsatisfied forward or external declaration: '[email protected]@@[email protected]' 
[dcc32 Error] Project1.dpr(24): E2065 Unsatisfied forward or external declaration: '[email protected]@@[email protected]' 
[dcc32 Error] Project1.dpr(24): E2065 Unsatisfied forward or external declaration: '[email protected]@@[email protected]' 
[dcc32 Error] Project1.dpr(24): E2065 Unsatisfied forward or external declaration: '[email protected]@@[email protected]' 
[dcc32 Error] Project1.dpr(24): E2065 Unsatisfied forward or external declaration: '[email protected]@@[email protected]' 
[dcc32 Error] Project1.dpr(24): E2065 Unsatisfied forward or external declaration: '[email protected]@@[email protected]' 
[dcc32 Error] Project1.dpr(24): E2065 Unsatisfied forward or external declaration: '[email protected]@@[email protected]' 
[dcc32 Error] Project1.dpr(24): E2065 Unsatisfied forward or external declaration: '[email protected]@@[email protected]' 
[dcc32 Error] Project1.dpr(24): E2065 Unsatisfied forward or external declaration: '@[email protected]' 
[dcc32 Error] Project1.dpr(24): E2065 Unsatisfied forward or external declaration: '[email protected]' 
[dcc32 Error] Project1.dpr(24): E2065 Unsatisfied forward or external declaration: '___CxxFrameHandler3' 
[dcc32 Error] Project1.dpr(24): E2065 Unsatisfied forward or external declaration: '[email protected]@[email protected]' 
[dcc32 Error] Project1.dpr(24): E2065 Unsatisfied forward or external declaration: '___security_cookie' 
[dcc32 Error] Project1.dpr(24): E2065 Unsatisfied forward or external declaration: '__fltused' 

回答

2

您不能將.lib文件鏈接到Delphi。如果您鏈接.obj文件,則必須由提供任何缺少的功能:

  1. 鏈接一個.obj文件,定義功能,或
  2. 實現在Delphi中的作用,使之到其他鏈接的單元可見.obj文件。

一個更大的問題是,您正試圖鏈接一個C++對象,並且知道這是不可行的。如果這真的是你需要做的,那麼你將不得不將它編譯成一個DLL並以這種方式進行鏈接。

+0

你可以將函數包裝在extern「C」中,這就是我所做的。 – user3323367

+0

這並不改變你的代碼是C++的事實。這只是改變了聯繫。在我看來,你實際上沒有成功的希望。將這段代碼編譯成一個DLL並以這種方式進行鏈接。 –

+0

字符串類型可以使用從Delphi到C++ DLL嗎? – user3323367