Я пытаюсь создать программу, которая, будем надеяться, будет создавать динамические PDF-файлы. На самом деле я разработал аналогичный проект с PHP для веб, но теперь я хочу написать его на C ++.
Это привело меня к перестройке этих трех библиотек (zlib, libpng и libharu) более чем раз за последние четыре дня. Я прочитал все соответствующие записи в Интернете (в том числе этот запись переполнения стека) Я понял, что моя проблема в том, что компилятор не может найти zlib (возможно, я неправильно понял проблему)
Я хочу объяснить, что я сделал. Обратите внимание, что я использую IDE Codeblocks с компилятором GNU GCC C ++ (MingGW) в Windows 7. Сначала я скомпилировал zlib 1.2.7 и создал файл статической библиотеки zlib.a (я использую статические библиотеки). Во-вторых, я скомпилировал libpng 1.5.13 и создал свой libpng.a. В-третьих, я скомпилировал libharu (снимок) и создал файл статической библиотеки libharu.a. Затем я добавил эти библиотечные файлы в свой проект. (Я сделал все, как описано в Вот). И наконец, скомпилировал мой проект.
Что ж, скажу, что я проделал все эти шаги более десяти раз, меняя некоторые мелочи, но каждый раз получаю ошибку. Я даже попробовал официальные примеры в libharu.org.
Самое странное, что моя ошибка НЕ стабильна. Почти каждый раз я получаю разные ошибки! Но в основном это было связано с hpdf_streams.c.
Мой последний файл журнала:
C:\Libs\libharu-201301131604\libharu.a(hpdf_streams.o):hpdf_streams.c:(.text+0xd4a): undefined reference to `deflateInit_'
C:\Libs\libharu-201301131604\libharu.a(hpdf_streams.o):hpdf_streams.c:(.text+0xdfa): undefined reference to `deflate'
C:\Libs\libharu-201301131604\libharu.a(hpdf_streams.o):hpdf_streams.c:(.text+0xe78): undefined reference to `deflateEnd'
C:\Libs\libharu-201301131604\libharu.a(hpdf_streams.o):hpdf_streams.c:(.text+0xee2): undefined reference to `deflate'
C:\Libs\libharu-201301131604\libharu.a(hpdf_streams.o):hpdf_streams.c:(.text+0xf7e): undefined reference to `deflateEnd'
C:\Libs\libharu-201301131604\libharu.a(hpdf_streams.o):hpdf_streams.c:(.text+0xfb7): undefined reference to `deflateEnd'
C:\Libs\libharu-201301131604\libharu.a(hpdf_streams.o):hpdf_streams.c:(.text+0xff1): undefined reference to `deflateEnd'
У нас только что была эта проблема. Вам нужно перекомпилировать zlib с выключенным WIN_API. Или используйте DLL, а не статическую библиотеку.
Других решений пока нет …