Хобрук: Ваш путь к мастерству в программировании

Компиляция Libpng в Windows 7 или получение Libpng12.dll (и понимание того, как связать .DLL в VS)

Я использую Libpng15 в Windows 7, но получаю ошибки, связанные с

Неразрешенная внешняя ошибка _png_set_longjmp_fn при компиляции кода. Я следовал указаниям в вышеупомянутой ссылке, и, хотя он скомпилировался без каких-либо ошибок, я получил сообщение о том, что мне нужна libpng12.dll для продолжения.

Итак, я немного погуглил для libpng12.dll ... ничего не вышло, кроме общих веб-сайтов «найти x.dll», которые оказались мошенническими.

Я попытался прочитать документы INSTALL для исходного кода libpng на их веб-сайте, и все, что я вижу, это инструкции о том, как это сделать с помощью систем на основе Unix. Я безуспешно пытался сделать это в Cygwin, поэтому я застрял в том, как скомпилировать эту библиотеку.

В общем, я готов либо компилировать, либо просто использовать .dll, хотя проблема в том, что я не могу найти работающую .dll для версии 12.

Еще я пробовал загружать двоичные файлы из здесь, которые утверждали, что это "libpng12 для Windows ". Затем я скопировал файлы в каталог моего компилятора VC, который, я думаю, переопределил libpng15. Тем не менее, когда я статически связываюсь с ним и запускаю свою программу в VC, он говорит, что мне нужен файл .DLL. Файл libpng12.dll на самом деле был файлом .dll.a. Честно говоря, я не уверен, что свяжу их (я пытался связать это статически, набрав «libpng12.dll.a» в настройках ввода компоновщика через VS).

Если я могу пойти путем .dll для libpng12, как мне это сделать? Где файл? Как связать его в VS?

Будем признательны за любую помощь, так как, похоже, на самом деле не так много информации по этому вопросу. Либо так, либо я плохо смотрю.


Ответы:


1

Посмотрите в каталоге "projects" дистрибутива libpng и используйте один из визуальных проектов.

05.09.2012
  • Обратите внимание, что перед тем, как открыть решение, найденное в каталоге vstudio, вам необходимо загрузить исходный код zLib и предварительно отредактировать файл zlib.props. 11.11.2013

  • 2

    Этот YouTube может помочь вам «Создать библиотеку libpng с VS2010».

    https://www.youtube.com/watch?v=7XxVebzK3ac

    03.04.2014

    3

    Как упоминалось выше, загляните в каталог «projects» дистрибутива libpng.

    Затем внесите изменения, описанные здесь https://stackoverflow.com/a/38547948/293792.

    Что я отмечаю здесь для простоты (как указано там), добавляя два значения lib к

    • Конфигурация -> Линкер -> Ввод -> Дополнительные зависимости

    эти значения ucrt.lib;vcruntime.lib

    Обеспечение типа сборки /MD

    Позволил мне собрать эти старые версии и исправить эту ошибку в Windows 10 VS2015.

    24.07.2016

    4

    По этой ссылке, похоже, есть установщик для 1.2:

    http://gnuwin32.sourceforge.net/packages/libpng.htm

    это 32 бит. Не уверен, что это имеет значение для вас.

    12.04.2013
  • Двоичные файлы не работают на моем 64-битном ПК с Windows 7. Запуск тестовых программ генерирует исключение. 11.11.2013
  • Новые материалы

    Решения DBA Metrix
    DBA Metrix Solutions предоставляет удаленного администратора базы данных (DBA), который несет ответственность за внедрение, обслуживание, настройку, восстановление базы данных, а также другие..

    Начало работы с Блум
    Обзор и Codelab для генерации текста с помощью Bloom Оглавление Что такое Блум? Некоторые предостережения Настройка среды Скачивание предварительно обученного токенизатора и модели..

    Создание кнопочного меню с использованием HTML, CSS и JavaScript
    Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen . Шаг 1..

    Внедрите OAuth в свои веб-приложения для повышения безопасности
    OAuth — это широко распространенный стандарт авторизации, который позволяет приложениям получать доступ к ресурсам от имени пользователя, не раскрывая его пароль. Это позволяет пользователям..

    Классы в JavaScript
    class является образцом java Script Object. Конструкция «class» позволяет определять классы на основе прототипов с чистым, красивым синтаксисом. // define class Human class Human {..

    Как свинг-трейдеры могут использовать ИИ для больших выигрышей
    По мере того как все больше и больше профессиональных трейдеров и активных розничных трейдеров узнают о возможностях, которые предоставляет искусственный интеллект и машинное обучение для улучшения..

    Как построить любой стол
    Я разработчик программного обеспечения. Я люблю делать вещи и всегда любил. Для меня программирование всегда было способом создавать вещи, используя только компьютер и мое воображение...