использование poppler в Qt Creator - справка

Я пытаюсь скомпилировать проект Qt, который использует библиотеку poppler для pdf (linux).

Я помещаю #include в mainwindow.cpp Я помещаю папку poppler в папку моего проекта, кроме mainwindow.cpp poppler-qt4.h находится в poppler-0.16.7 / qt4 / src

Мне не нужно перекомпилировать poppler, мне просто нужно связать библиотеку через ее заголовки, но я не знаю, как это сделать. Если требуется компиляция, я могу это сделать, но я попробовал ./configure, и он сказал: «./configure not found». Я искал другие похожие темы, но они мне не пригодились. Я знаю, что LIBS задействован, но make-файл перезаписан Qt-creator? Я бы предпочел узнать, как «официально» сообщить Qt-creator, что я хочу добавить библиотеку. Пожалуйста, помогите?


person P5music    schedule 28.07.2011    source источник


Ответы (1)


У вас есть хороший пример, дополненный исходным кодом, здесь: Poppler: отображение файлов PDF с Qt

Наряду с включением файлов заголовков, где это уместно, вам необходимо сделать ссылку на библиотеку poppler.

Для этого вам нужно отредактировать файл .pro и добавить что-то вроде:

INCLUDEPATH  += /usr/include/poppler/qt4
LIBS         += -L/usr/lib -lpoppler-qt4

Это пути «по умолчанию», возможно, вам придется изменить их в соответствии с вашим конкретным местом установки.

РЕДАКТИРОВАТЬ:

Судя по вашим комментариям, вы пытаетесь собрать poppler lib из исходников. Проблема в том, что вы выполняете ./configure (make и make install) в неправильном каталоге. Вам «нужно» переместиться в каталог, в котором находится файл configure (*). Затем выполните традиционные команды:

./configure
make 
make install
  1. Вы запускаете configure (обычно вам нужно вводить ./configure, поскольку у большинства людей нет текущего каталога в их пути поиска). Будет создан новый Makefile.
  2. Введите команду make. Это построит программу. То есть make будет выполнена, она будет искать первую цель в Makefile и делать то, что сказано в инструкциях. Ожидаемым конечным результатом будет создание исполняемой программы.
  3. Теперь от имени пользователя root введите make install. Это снова вызывает make, make находит целевую установку в Makefile и записывает инструкции по установке программы.

Я извлек эту цитату из http://tldp.org/LDP/LG/current/smith.html. Но есть много мест, где можно найти дополнительную информацию об этих командах. Просто погуглите! : D

(*) Вам не обязательно находиться в том же каталоге, что и файл configure. Но это проще, чем писать полный путь.

person bruno    schedule 28.07.2011
comment
угадать / usr / include / poppler / qt4 / src. в итоге сработало, но я поставил просто INCLUDEPATH, а не LIBS - person P5music; 28.07.2011
comment
он просто анализирует #include ‹poppler-qt4.h›, но выдает неопределенные ссылочные ошибки. Я думаю, что он не нашел скомпилированной библиотеки для ссылки. - person P5music; 28.07.2011
comment
если я поставлю LIBS + = -L / usr / lib -lpoppler-qt4, я получаю ошибку: не могу найти -lpoppler-qt4 - person P5music; 28.07.2011
comment
Вам необходимо изменить путь в LIBS + = -L / usr / lib -lpoppler-qt4 к месту, где установлена ​​библиотека. - person bruno; 28.07.2011
comment
У меня есть источник. Я не смог установить, потому что ./configure не работал. Может быть, его надо установить другими инструментами? - person P5music; 28.07.2011
comment
Если вы используете Ubuntu, я думаю, что есть предварительно скомпилированные пакеты, которые вы можете загрузить из одного из репозиториев. В своем вопросе вы говорите, что при попытке скомпилировать исходный код вы получаете сообщение об ошибке: ./configure not found. Вы уверены, что находитесь в правильном каталоге при выполнении этой команды? - person bruno; 28.07.2011
comment
(Я пытался запустить ./configure из qt4 / src и из qt4.) Поэтому, если у меня установлена ​​библиотека в системе, и у меня есть включение в файл cpp, и у меня есть правильные записи в файле проекта, все должны Работа? [пожалуйста, скажите менеджеру сайта, чтобы он исправил эти ошибки на кнопке сохранения изменений] - person P5music; 28.07.2011