Связывание библиотек MinGW64 с MSVC 2010

Я пытаюсь связать свои самостоятельно скомпилированные библиотеки (zlib, SDL, SDL_Mixer, SDL_Image, PCRE,...) (.dll.a, не статические), которые я скомпилировал с MinGW 4.7.2 теперь с MSVC 2010 (x64) , это работает нормально, но когда я пытаюсь запустить приложение, я получаю странные ошибки, например, "deflateInit2" не найден в SDL_Mixer.dll (но это должно быть в zlib.dll...). Что может быть причиной этого? Если я свяжу их с MinGW, то все работает нормально, без каких-либо огрехов. Нужно ли мне преобразовывать файлы *.dll.a в файлы *.lib, чтобы MSVC мог их правильно использовать? Должен ли я заботиться о порядке ссылок?

Прежде чем кто-то спросит, почему я не использую официальные библиотеки, это потому, что они не работают должным образом с MinGW 4.7.x, они всегда портят стек с MinGW 4.7.x.

Скриншот странного MessageBox: https://i.imgur.com/zUlTt.png


person Thomas    schedule 12.11.2012    source источник
comment
Может быть, вы можете сказать нам, какая командная строка используется для связывания программы.   -  person Michael Burr    schedule 13.11.2012
comment
конечно: pastebin.com/74fzrtmJ   -  person Thomas    schedule 13.11.2012


Ответы (1)


Решил проблему самостоятельно, создав экспорт *.def из dll с помощью «dumpbin» и *.lib импортных библиотек с «lib /def:lib.def».

person Thomas    schedule 12.11.2012