Связывание библиотек 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

1 ответ

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

Другие вопросы по тегам