无论如何在vc ++代码中链接使用c ++ builder编译的dll?

时间:2016-06-16 07:10:39

标签: visual-c++ dll c++builder dllimport

我做了一些google,我找到的是通过COFF2OMF使vc ++ dll与c ++ builder兼容的方法。但我需要将一个c + builder dll带入vc ++。是否有任何类似的工具可以从c ++ builder dll创建一个兼容vc ++的.lib?

提前致谢。

2 个答案:

答案 0 :(得分:0)

如果DLL的接口(已导出的函数)不依赖于VCL和object pascal,则可以使用以下方法执行以下操作:

  1. 使用here描述的方法从DLL中提取.LIB 并将生成的.LIB链接到您的项目中。
  2. 使用LoadLibrary()GetProcAddress()动态加载DLL并使用导出的函数。
  3. 请记住,您的DLL可能依赖于VCL库和...这使得使用它们变得更加困难。我还要再说一遍,如果在导出的函数中使用了任何VCL或对象pascal数据,你根本就无法使用这个DLL。

    萨姆

答案 1 :(得分:0)

COFF2OMF.EXE是在C ++ Builder中使用VC ++ DLL的错误方法。它只应在转换静态LIB 时使用。 DLL导入LIB 不是必需的。您应该使用IMPLIB.EXE代替直接从DLL生成新的C ++ Builder兼容导入LIB。

VC ++等价物是使用DUMPBIN.EXE列出DLL导出,然后编写定义这些导出的.DEF文件,然后运行.DEFLIB.EXE来创建VC ++兼容的导入LIB。

有关详细信息,请参阅此博客:

Create .lib file from .dll