将MinGW64库与MSVC 2010链接

时间:2012-11-12 21:10:57

标签: c++ visual-c++ linker mingw libs

我正在尝试链接我自编译的库(zlib,SDL,SDL_Mixer,SDL_Image,PCRE,...)(。dll.a,而不是静态),我现在使用MSVC 2010编译了MinGW 4.7.2 (x64),这工作正常,但是当我尝试启动应用程序时,我发现在SDL_Mixer.dll中找不到像“deflateInit2”这样的奇怪错误(但这应该在zlib.dll中...)。可能是什么导致了这个?如果我将它们与MinGW链接,那么一切正常,没有任何缺陷。我是否必须将* .dll.a文件转换为* .lib文件,以便MSVC可以正确使用它们?我是否必须关注链接顺序?

在有人询问之前,为什么我没有使用官方库,因为它们无法正常使用MinGW 4.7.x,它们总是使用MinGW 4.7.x破坏堆栈。

奇怪的MessageBox的屏幕截图:http://i.imgur.com/zUlTt.png

1 个答案:

答案 0 :(得分:1)

通过使用“dumpbin”和带有“lib /def:lib.def”的* .lib导入库创建来自dll的* .def导出,我自己解决了这个问题。