2011-10-25 64 views
0

在BDS 4.0中,我構建了一個VC風格的DLL,我希望這個DLL包含所有的軟件包以便獨立,我也可以使用它並在PC上部署它沒有安裝Borland RTL。構建一個包含所有軟件包的DLL

(我在虛擬機中使用BDS,在主機上使用VC++)。

所以,我修改編譯選項是這樣的:

  • 取消選中使用動態RTL
  • 檢查的「與執行包材:」並列出我想包括(RTL所有包,VCL, ...)。

但在VC++中使用此DLL時,LoadLibrary失敗並要求我在包中添加rtl100.bpl,vcl100.bpl,...。

如果我將我的虛擬機上的所有BPL複製到主機,LoadLibrary的作品。

如何在C++ Builder DLL中包含所有這些包?

回答

2

您無法正確選中「使用執行包構建」選項。當它被選中時,所有列出的軟件包都會動態鏈接,因此您需要將* .bpl文件分發給您的應用程序。如果您取消選中此選項,所有軟件包將靜態鏈接到您的dll中

相關問題