Как исправить ошибку «SDL_image не удалось инициализировать!»? - PullRequest
0 голосов
/ 02 октября 2018

Я следую учебному пособию о том, как выполнять программирование SDL2 на C ++.Я на окнах.Мой компьютер 64-битный.Я использую 32-битные библиотеки из соображений совместимости и потому, что я следую учебному пособию [в котором указано использовать 32-битные версии].

Я попытался вызвать библиотеку изображений SDL с помощью моего компилятора и получилследующая ошибка:

"SDL_image не удалось инициализировать! SDL_image Ошибка: не удалось загрузить libpng16-16.dll: указанная процедура не может быть найдена"

(я поместил все DLL, которые мог найтив MySysWow64 Я никогда не умел связывать компиляторы, поэтому я, вероятно, сделал это неправильно [я использую кодовые блоки])

Он также создает следующее всплывающее окно:

"Учебник по SDL: SDL2_TEST1.exe - точка входа не найдена

Не удалось найти точку входа процедуры inflateValidate в библиотеке динамических ссылок C: \ windows \ SYSTEM32 \ libpng16-16.dll "

Руководстводал мне указание поместить библиотеки DLL для образа SDL в каталог MySysWow64;Я думал, что сделал это.Что может быть причиной и как я могу устранить неполадки, чтобы исправить это?

PS: я использую windows10, не уверен, что это актуально, но, поскольку это может быть, именно поэтому я включил его;Я предположил, что это хорошая идея, если нет, я полностью гибок в этом.Я хочу задавать только лучшие вопросы

1 Ответ

0 голосов
/ 02 января 2019

Хит та же ошибка с SDL после распаковки zlib1.dll (версия 1.2.8) из SDL2_ttf-devel-2.0.14 в папку bin моего компилятора, очень похоже на распаковку в вашу папку MySysWow64, к которой я был бы гораздо менее склоненделать.Поиск ошибки «Точка входа в процедуру inflateValidate» вызовет множество результатов конфликта zlib1.dll.Zlib1.dll (1.2.11) из SDL2_image-devel-2.0.4 работал, где версия 1.2.8 генерировала сообщение об ошибке, о которой вы сообщаете.Удалите zlib1.dll и найдите более новую версию, а также учтите, что может быть другой конфликтующий zlib1.dll, уже находящийся в вашей переменной PATH где-то еще, что вызывает ошибку, проверьте свой путь PATH на наличие других копий библиотеки DLL.

...