构建包含所有包的 DLL
在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 中?
In BDS 4.0 I've build a VC-Style DLL, I want that this DLL includes all packages in order to be independant as well, I can use it and deploy it even on PC that haven't the Borland RTL installed.
(I've BDS in a Virtual Machine and VC++ on my host computer).
So, I modified compiling options like this:
- Uncheck the use of dynamic RTL
- Check "Build with execution packages:" and list all packages that I want to include (rtl, vcl, ...).
But when using this DLL in VC++, LoadLibrary
fails and ask to me to add rtl100.bpl, vcl100.bpl, ... in the package.
If I copy all BPL that are on my virtual machine to my host computer, LoadLibrary
works.
How can I include all these packages in my C++Builder DLL?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您错误地选中了“使用执行包构建”选项。选中后,所有列出的包都会动态链接,因此您需要将 *.bpl 文件与您的应用程序一起分发。如果取消选中此选项,所有包都将静态链接到您的 dll 中
You have uncorrectly checked "Build with execution packages" option. When it's checked, all listed packages are linked dynamically so you'll need to distribute *.bpl files with your application. If you uncheck this option, all packages will be statically linked into your dll