CB6.0编译后需要DLL的新问题

ccly1974 2003-07-08 09:58:36
编译时我在CB6.0的prject->Options->Compiler中点击Release,
在prject->Options->Packages中去掉Builder with runtime packages选项
在prject->Options->Linker中去掉Use dynamic RTL 选项
然后, ReBuild 。

但是编译完成后,到另外一台没有CB6.0的机器上运行还是提示需要VCL6.0.BPL,borlndmm.dll 这些文件,为什么呀?请各位指点一下。谢谢!
...全文
126 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Behard 2003-09-25
  • 打赏
  • 举报
回复
看看 BCB 目录下的 DEPLOY.TXT 文件就很清楚啦
tccsdn 2003-09-25
  • 打赏
  • 举报
回复
编译时我在CB6.0的prject->Options->Compiler中点击Release,
在prject->Options->Packages中去掉Builder with runtime packages选项
在prject->Options->Linker中去掉Use dynamic RTL 选项
然后, ReBuild

我按上面的做,从来没出现以上的问题的,包括程序中用了ADO什么的,不管是什么系统,直接考过去就能用的,仔细检查一下,肯定是你自己其他的原因,
fall1979 2003-09-25
  • 打赏
  • 举报
回复
今天无意之中终于发现一个需要VCL50.BPL(我用的是CB5.0)的问题!
我试了一下,得出如下结果:
(1)如果编译时在prject->Options->Packages中去掉Builder with runtime packages选项,在prject->Options->Linker中选中Use dynamic RTL 选项的情况下,在别的机器上需要borlndmm.dll ,cc3250mt.dll,而不需要VCL50.BPL;
(2)如果编译时在prject->Options->Packages中选中Builder with runtime packages选项,在prject->Options->Linker中去掉Use dynamic RTL 选项的情况下,则需要VCL50.BPL,不需要borlndmm.dll ,cc3250mt.dll。当然在这里还需要看你用到什么东西,比如我用了ODBC的数据源来连接数据库,所以还需要vclbde50.bpl和vcldb50.bpl这两个文件;
(3)如果两者都去掉的话,应该不需要上面这些文件就可以直接运行,所以对于你的问题还是爱莫能助! :)
mee123456 2003-07-08
  • 打赏
  • 举报
回复
应该没问题,重新编译以下(build all比较保险)
TR@SOE 2003-07-08
  • 打赏
  • 举报
回复
Borlandmm.dll is the DLL used by a DLL which uses String as parameters. You should have read this in the description in the DLL files that was created by the DLL Wizard.
tmathliao 2003-07-08
  • 打赏
  • 举报
回复
borlndmm.dll ,cc3250mt.dll是不能没有的,至于VCL6.0.BPL,你看看编译时有没有在packages中
GaoLun 2003-07-08
  • 打赏
  • 举报
回复
你的程序里都有用到什么DD,
如果用用的DLL的话,那么你的DLL也得想你上边说得一样去编译
fall1979 2003-07-08
  • 打赏
  • 举报
回复
我这两天也遇到一个类似的问题:为了在没有CB的机器上能运行我的程序,我在prject->Options->Packages中去掉Builder with runtime packages选项,在prject->Options->Linker中去掉Use dynamic RTL 选项,但是我的程序运行却不正常了(在程序中调用了一些自己做的DLL时出现访问冲突的错误,这些DLL编译时也没有选中那两个选项,初步怀疑是与内存有关,但是那段代码连指针都没有创建一个,所以这个问题我调试了很久没有解决)。但是如果主程序编译时把Use dynamic RTL 选中,被调用DLL不变时,主程序调用DLL就没有问题(就是不能在没有CB的机器上运行)。我的最终解决方案是打包时把borlndmm.dll ,cc3250mt.dll拷贝到操作系统中,这样即使没有CB现在也可以运行!

不知道各位大侠有没有更好的解决方案!
fall1979 2003-07-08
  • 打赏
  • 举报
回复
如果在prject->Options->Packages中去掉Builder with runtime packages选项
在prject->Options->Linker中去掉Use dynamic RTL 选项 ,那么重新编译一下,在别的机器上没有borlndmm.dll ,cc3250mt.dll是可以运行该程序的。不过没有遇到需要VCL6.0.BPL的,可能你是使用了非标准控件的原因吧!

13,822

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧