构建包含所有包的DLL

时间:2011-10-25 09:29:20

标签: dll c++builder

在BDS 4.0中我构建了一个VC风格的DLL,我希望这个DLL包含所有软件包以便独立,我可以使用它并在即使没有安装Borland RTL的PC上部署它

(我在虚拟机中使用BDS,在主机上使用VC ++)。

所以,我修改了这样的编译选项:

  • 取消选中使用动态RTL
  • 选中“使用执行包构建:”并列出我想要包含的所有包(rtl,vcl,...)。

但是当在VC ++中使用此DLL时,LoadLibrary失败并要求我在包中添加rtl100.bpl,vcl100.bpl,....

如果我将虚拟机上的所有BPL复制到我的主机,LoadLibrary可以正常工作。

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

1 个答案:

答案 0 :(得分:2)

您未正确检查“使用执行包构建”选项。选中后,所有列出的软件包都会动态链接,因此您需要在应用程序中分发* .bpl文件。如果取消选中此选项,则所有包将静态链接到您的dll