Как установить и добавить libpng в мой проект Qt в Windows - PullRequest
0 голосов
/ 06 апреля 2019

Мне нужно использовать libpng для моей курсовой работы с Qt.Но я не знаю, как установить его и использовать с Qt на Windows.

Попробуйте установить с MinGw

Во-первых, я скачал libpng и zlib с официального сайта.Затем я попытался установить его с MinGw, . / Configure CFLAGS = '- O2' CXXFLAGS = '- O2' --prefix = / mingw , эта команда выполняется отлично, но затем у меня возникла проблема.После ввода make и make install возникла следующая проблема.Я не знаю, как это исправить и что это на самом деле означает, потому что я никогда не сталкивался с ошибками из make-файлов.

Попробуйте установить через приложение

Я нашел приложение для установкиlibpng для windows: http://gnuwin32.sourceforge.net/packages/libpng.htm. И это сработало, я установил библиотеку, получил мои lib файлы и заголовки.Затем я пошел в свой проект Qt и добавил библиотеку, указав путь к файлу lib и путь к заголовкам.Теперь я включаю в свой класс png.h , и все идет хорошо, пока я не попытаюсь использовать некоторые функции.Qt пишет что-то вроде этого Нет математической функции для вызова png_sig_cmp .Но более интересно то, что на самом деле он не показывает ошибки, когда я использую типы переменных из библиотеки, например png_byte .

//messege from MinGw after typing make and make install
rm -f pnglibconf.c pnglibconf.tf[45]
gawk -f ./scripts/options.awk out=pnglibconf.tf4 version=search\
            ./pngconf.h ./scripts/pnglibconf.dfa\
            ./pngusr.dfa  1>&2
gawk -f ./scripts/options.awk out=pnglibconf.tf5 pnglibconf.tf4 1>&2
options.awk: bad line (10): com
make: *** [pnglibconf.c] Error 1

Я ожидаю установить библиотеку на свой диск и смогубыстро включить его в другие проекты в других IDE.

1 Ответ

0 голосов
/ 07 апреля 2019
  1. Для вашей проблемы со сборкой Google выдает: https://github.com/aseprite/aseprite/issues/1054#issuecomment-335846694.

  2. Предположим, вы создали не libpng, а libcurl, как я делал это недавно с компилятором mingw, Затем, чтобы использовать libcurl в вашем файле проекта Qt, выполните:

win32 {

    ## Windows common build here

     win32-g++:contains(QMAKE_HOST.arch, x86_64):{
        message("x86_64 build")
        INCLUDEPATH += C:\QT64\Lib64\curl-7.40.0-devel-mingw64\include
        LIBS += C:\Qt64\Lib64\curl-7.40.0-devel-mingw64\lib64\libcurldll.a
        # Win64 specific build here

     } else {
             message("x86 build")
             INCLUDEPATH += C:\QT\Lib\curl-7.40.0-devel-mingw32\include
             LIBS += C:\Qt\Lib\curl-7.40.0-devel-mingw32\lib\libcurldll.a
             #Win32 specific build here
            }
}
...