VC 调用 MinGW 生成的dll

首先,如果dll 中导出了C++的类,那么就不要折腾了。不同的编译器编译出来的C++代码是不保证通用的。如果dll中只是一些函数,那么是可以互相调用的。

 

MinGW 生成dll时即使生成了 .a 文件也是不能用到VC 上的(至少我用的VC2010版本是不行了,表现为生成的程序 Debug模式下可以运行,但是Release 模式下却无法运行)。

 

如果生成dll时也生成的def文件那么可以这样:

 

比如我的dll 文件叫做 test.dll ,对应的def文件为 test.def

执行下面这条语句:

LIB /DEF:test.def /MACHINE:IX86

 

就会生成一个test.lib 文件,之后就可以在 VC 中使用了。

 

如果连def文件也没有,那么先要生成def文件,可以从网上下载一个小工具叫做pexports

 

pexports.exe test.dll > test.def

之后在生成lib文件。

LIB /DEF:test.def /MACHINE:IX86

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值