您的位置:首页 > 其它

VC 调用 MinGW 生成的dll

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



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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: