【VC】VC调用CB的dll,lib生成方法--CB dll转VC lib

来源:互联网 发布:计算机视觉算法工程师 编辑:程序博客网 时间:2024/05/22 15:11

C++Builder生成DLL,VC调用。
1、用extern "C"修饰C++Builder导出的DLL函数。如:extern "C" __declspec(dllexport) int aFunc(int a);
2、用C++Builder的impdef工具生成DLL对应的def文件。如:impdef ***.def ***.dll。
3、用记事本打开xxx.def文件,删去每个函数名前的"_"。如原来的def文件为:

1
2
3
4
5
6
LIBRARY     XXX.DLL
  
EXPORTS
    ___CPPdebugHook                @2   ; ___CPPdebugHook
    _aFunc                         @1   ; _aFunc


那么删除后就变成了:

1
2
3
4
5
6
LIBRARY     XXX.DLL
  
EXPORTS
    __CPPdebugHook                @2   ; ___CPPdebugHook
    aFunc                         @1   ; _aFunc


4、用VC的LIB工具,根据上面的def文件生成lib文件。将xxx.dll和xxx.def放到一个文件夹,启动【Visual Studio 命令提示】,将工作目录切换到放有***.dll和***.def的文件夹中输入:

lib /def:***.def /MACHINE:x86

这样就产生一个***.lib,供VC调用。