什么问题? ( 积分: 50 )

  • 主题发起人 主题发起人 pascal
  • 开始时间 开始时间
P

pascal

Unregistered / Unconfirmed
GUEST, unregistred user!
BCB6.0
就一个什么都没的project,拷到没装过BCB的机上不能运行,要borlndmm.dll,cg32.dll等n多的dll,该怎么设置BCB能不要这些DLL独立运行?
build with runtimepackage没勾,如果勾了更要多的DLL
 
BCB6.0
就一个什么都没的project,拷到没装过BCB的机上不能运行,要borlndmm.dll,cg32.dll等n多的dll,该怎么设置BCB能不要这些DLL独立运行?
build with runtimepackage没勾,如果勾了更要多的DLL
 
默認是不打包的EXE文件。
可以自己設計,打包生成獨立運行的EXE程序。
 
To bbscom:
具体怎么做?用delphi时没这么烦
 
像DELPHI一樣的設置。
project -> options -> build with runtime packages 的勾取消就可以。
 
重新Build一下看。
 
project -> options -> build with runtime packages 的勾取消;重新Build一下还不行,
vcl60.bpl nofound
 
还有,在另一个DLL中:
勾project -> options -> build with runtime packages 编译通过;
不勾project -> options -> build with runtime packages 编译通不过;
typedef
__interface INTERFACE_UUID("{1DCCA889-3748-4FDA-8D4D-142BACC3BCF2}")
_IPorte : public IInterface
{
public:
virtual bool __fastcall Start(unsigned char Device) = 0;
virtual void __fastcall Shutdown(void) = 0;
virtual bool __fastcall Open(unsigned char Addr) = 0;
virtual bool __fastcall Close(unsigned char Addr)= 0;
virtual bool __fastcall Status(unsigned char Addr, unsigned int *Status) = 0;
virtual bool __fastcall Get(unsigned char Addr, unsigned int *Count) = 0;
virtual bool __fastcall Reset(unsigned char Addr) = 0;
} IPorte;
extern "C"
XPORT_TYPE IPorte *CreatePorte();
错误信息:
[Link Error]Unresolved external '__fastcall System::TObject::' referenced from D:/DLLUnit.OBJ.
该怎么处理?
 
到没有安装BCB的机器不能运行是因为没有安装BCB的运行时包。
可以在编译的时候build with runtimepackage不选中。或者干脆就带上所需的BCB 运行时包或控件的运行时包。
另外上面说的不勾中build with runtimepackage就不能编译,是因为你用了某些控件。而这些控件只提供了设计时/运行时包。而没有源代码或者DCU,OBJ等文件。或者这些控件的源代码,DCU,OBJ路径你没有提供给BCB。编译的时候无法找到,只能按带包方式编译了
 
都不是上面说的,我好辛苦找到了Linker页:use dynamic rtl不要勾
 
后退
顶部