使用了自定义BPL的工程编译时不选中dynamic rtl,build with runtime packages无法通过
RT, 环境是 studio 2010
工程中使用了很多外部组件ehlib,quikrpt,vclskin2010,还有自定义的mcpack
问题一:
如果编译的时候选中build with runtime packages就可以通过,运行也没有问题,现在想打包程序,发现依赖项实在很多,想去掉 dynamic rtl 和build with runtime packages完全编译
报错如下,其中MC打头的是自定义的PACK中得文件,dbgrideh.res是ehlib,vclskin.res是vclskin
[ILINK32 Error] Error: Unable to open file 'DBGRIDEH.RES'
[ILINK32 Error] Error: Unable to open file 'MCBITBTN_NAME.RES'
[ILINK32 Error] Error: Unable to open file 'MCFORMMSEDITEX.DFM'
[ILINK32 Error] Error: Unable to open file 'MCFORMMSEDIT.DFM'
[ILINK32 Error] Error: Unable to open file 'MCDBGRID_NAME.RES'
[ILINK32 Error] Error: Unable to open file 'TRAYICON.RES'
[ILINK32 Error] Error: Unable to open file 'DBGRIDEHSIMPLEFILTERDLG.DFM'
[ILINK32 Error] Error: Unable to open file 'DBGRIDEHFINDDLGS.DFM'
[ILINK32 Error] Error: Unable to open file 'CALCULATOREH.DFM'
[ILINK32 Error] Error: Unable to open file 'VCLSKIN.RES'
[ILINK32 Error] Error: Unable to open file 'MCFORMSSEDITEX.DFM'
[ILINK32 Error] Error: Unable to open file 'MCFORMSSEDIT.DFM'
[ILINK32 Error] Error: Unable to open file 'MCFORMSETDBGRID.DFM'
[ILINK32 Error] Error: Unable to open file 'MCFORMDATE.DFM'
[ILINK32 Error] Error: Unable to open file 'MCFORMCOMPOSITEREPORT.DFM'
[ILINK32 Error] Error: Unable to open file 'MCFORMCHECKTREEEDIT.DFM'
[ILINK32 Error] Error: Unable to open file 'MCFORMEXPORTOPTIONS.DFM'
[ILINK32 Error] Error: Unable to open file 'MCFORMPRINTDBGRID.DFM'
[ILINK32 Error] Error: Unable to open file 'MCFORMCHART.DFM'
[ILINK32 Error] Error: Unable to open file 'MCFORMZQDMEDIT.DFM'
[ILINK32 Error] Error: Unable to perform link
请问除了该工程的编译选项外,自定义bpl在编译的时候要注意什么吗?
问题二:
quikrpt安装后tool palette中不显示该组件,我自己编译了一遍,安装后,还是不显示,准确的说是c++工程中不显示,但在delphi工程中会显示!!
但是旧有的已经使用该组件的工程可以编译通过!
问题三:
求一个方便的打包工具,自带的installAware不太习惯。。
[解决办法]
1. 光取消build with runtime packages是不行的,还需要取消工程选项中Linker相关的Link with Dynamic RTL前的对钩,并且把用到的第三方控件相关的bpi文件添加到工程中。
2. 有些组件的有些版本只支持Delphi,不支持C++Builder
3. 开源的NSIS和InnoSetup就不错。