PoDoFo это библиотека для работы с PDF форматом.
HOW-TO по компиляции.
Для начала, скачаем всё необходимое
Для удобства, основной путь у меня такой: C:\Qt\Projects\podofo и в дальнейшем я отталкиваюсь именно от этой папки.
В подпапку podofo распаковываем сам PoDoFo.
Создаём под-папку tools
Создаём папку gnuwin32 в папке tools, запускаем инсталлятор GetGnuWin32 и указываем эту папку.
Запускаем консольку:
cd C:\Qt\Projects\podofo\tools\gnuwin32\GetGnuWin32
download
install c:/gnuwin32
Так же для компиляции нам понадобится CMake, MinGW, исходники Qt5, устанавливать «по умолчанию»
Продолжаем сборку
Добавим необходимые пути в PATH
set PATH=C:\MinGw\bin\;%PATH%
set PATH=C:\gnuwin32\include;%PATH%
set PATH=C:\gnuwin32\lib;%PATH%
Собираем PoDoFo
cd C:\Qt\Projects\podofo\podofo
cmake -G "MinGW Makefiles" -DCMAKE_INCLUDE_PATH="C:\gnuwin32\include" -DCMAKE_LIBRARY_PATH="C:\gnuwin32\lib" -DPODOFO_BUILD_SHARED=TRUE C:\Qt\Projects\podofo\podofo
mingw32-make
Ожидали продолжения? Оно когда то тут было, но сейчас с компиляцией всё просто!
Нас осчастливит podofo.dll своим появлением в папке C:\Qt\Projects\podofo\podofo\src\ , в случае успешной сборки =)
Подключение PoDoFo к Qt:
В файле .pro проекта прописать
INCLUDEPATH += C:/Qt/Projects/podofo/podofo
LIBS += -LC:\Qt\Projects\podofo\podofo\src -llibpodofo
Кстати, придётся таскать с экзешником либы gnuwin32:
- zlib1.dll
- freetype6.dll
- jpeg62.dll
- libtiff3.dll
- libpng3.dll
- libpodofo.dll
Для компиляции можно добавить LIBS += -LC:\gnuwin32\bin
В самом проекте:
#include <podofo/podofo.h>
using namespace PoDoFo;
Если будет ругаться windres.exe: invalid option — W, то CMake должна быть до 2.8.3
Скачать можно тут: http://www.cmake.org/files/
4 комментария
Здравствуйте.
Как подключить PoDoFo в Code blocks?
Там тоже компилятор MinGW.
Сделать аналогично как показано выше?
Спс, а для чего он нужен и как работает? На форуме по Corel Draw рекомендовали для экспорта в pdf.. то ли это?!
Хм… почему «Нас осчастливит podofo.dll своим появлением» если -DPODOFO_BUILD_SHARED=FALSE ?
Спасибо, что заметили. Собирал статично.