当前位置:主页   - 电脑 - 程序设计 - C/C++
CB生成的程序需要哪些文件
来源:网络   作者:   更新时间:2012-02-23
收藏此页】    【字号    】    【打印】    【关闭

  以下以C++Builder5.0为例,其它版本大同小异,其中C++builder1.0的缺省设置就是可独立运行的.

  1. 在bcb的IDE环境中,按Project菜单并转到Linker页下,在linking项中有一个Use dynamic RTL选项,不要选中它.这关系到编译生成的EXE是否需要以下二个文件: borlndmm.dll和 cc3250mt.dll.如果选中Use dynamic RTL,程序运行将在程序EXE所在目录和windows系统目录等目录下搜索此二文件并装入.如果没有选中它,将不需要此二文件.不同版本的c++builder,可能cc3250mt.dll名称不一样,如cb3.0的为 cp3240mt.dll.

  2. 运行时包:按Project菜单并转到Packages页下,在runtime packages项中build with runtime packages选项,如果不选中它,bcb编译时将静态链接所有用到的库,其下的编辑框内容无作用.也就是说程序不需要运行时包.如果选中它,在选项下的编辑框中可以添加或删除运行时装入的包,如果程序用到一个包中的某组件,如果此包并未在编辑框包列表中,即使Build with runtime packages是选中的,程序运行时也并不需要此运行时包,再进一步,如果选中build with runtime packages但包列表编辑框是空的,其结果与不选中buider runtime packages是一样的.对于第三方组件(包括自己编译的组件)等,其设置也是一样的.

  以上二项设置改变后重新build project即可.

  如果我们并不需要生成独立运行的EXE,而是想具体知道我的程序分发后运行时需要哪些包(也许build with runtime packages选中了并且下面的编辑框列入了全部的运行时包),可以参考以下的说明:

  组件运行时包其它需求

  Data Access页下的TDatabase,TTable等通过bde访问数据库控件vclbde50.bpl它们基于bde连接数据库,需要计算机安装了bde,及相应SQL数据库的客户端程序(dbf等本地数据库无需)

  ADO页下的TAdoCommand等基于ADO连接数据库的控件:vclado50.bpl需要计算机安装了ado,可以运行bcb安装盘中的mdac_typ.exe.此页控件cb5.0版本才有.

  samples页下的TIBEventAlerter等控件vclsmp50.bpl

  Data controls页的TDBEdit等控件vcldb50.bpl

  Midas页的TClientDataset等控件vclmid50.bpl需要Midas.dll(低版本为dbclient.dll)

  Standart/Dialogs页的TButton等控件vcl50.bpl

  Interbase组件页的TIBQuery等组件vclib50.bpl  需要安装interbase client才能访问interbase server.

  Quickreport组件vclx50.bpl&qrpt50.bpl

  ............

  最好是使用 install shield express for C++builder来制作安装盘,只要设置程序中使用了哪些组件,isx即可自动将所需的bpl添加到安装工程中,省时省力并且不易出错.isx也提供了bde安装功能.

  其实也有一个非常简单的方法可以试出程序具体需要哪些包:在一台未安装bcb的"空白"windows下拷贝bcb设计生成的需要运行时包的程序,并将所有的运行时包(windows目录下bcb的*.bpl以及第三方组件的bpl)拷贝到程序目录,然后运行程序,逐个删除bpl,不能删除的bpl就是程序运行时所需的.

  3. 不管如何,如果程序用到了通过bde来连接数据库(DataAccess页)的控件,那么在运行时就需要在windows下安装bde.如果使用了第三方组件,还要注意这些组件是否需要别的dll和其它文件.

其它资源
来源声明

版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明