2011-10-25 63 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中

相关问题