为什么我调用VC下编译的DLL在CB下使用却会出错?
我在VC下编写了一个DLL文件,其中有两个导出函数
extern "C" __declspec(dllexport) CMyClass * CreateInst();
extern "C" __declspec(dllexport) void DelectInst(CCMyClass * pInst);
在VC下使用没有任何问题,
现在我在CB下使用,首先我在我的头文件中定义了我的类CMyClass,然后使用
extern "C" __declspec(dllimport) CMyClass * __cdecl CreateInst(void);
extern "C" __declspec(dllimport) void __cdecl DeleteInst(CMyClass *pInst);
来定义需要使用的函数
我将DLL文件通过implib MyDll.lib MyDll.dll生成了lib文件,并将该文件添加到了项目中,编译却会出错!
我用impdef MyDll.def MyDll.dll 生成DEF文件
文件内容如下:
LIBRARY MyDll.DLL
EXPORTS
CreateInst @1 ;CreateInst
DeleteInst @2 ;DeleteInst
我将其修改为:
LIBRARY MyDll.DLL
EXPORTS
_CreateInst = CreateInst
_DeleteInst = DeleteInst
然后用implib MyDll.lib MyDll.def
生成LIB文件,可是编译还是会发生错误!
请问这是怎么回事啊!谁能给个解决方案呢?