Проблема ошибки поиска символов в проекте QT - PullRequest
0 голосов
/ 07 июня 2011

Я пытаюсь добавить новую библиотеку в папку плагинов Qt.

Этот плагин находится здесь: http://qt.gitorious.org/qt-solutions/qt-solutions/trees/master/qtjp2imageformat

Там написано, что для сборки требуется jasper, поэтому я скачал jasper и собрал его, сгенерировав libjasper.a в своей папке jasper / lib (которая находится в моем домашнем каталоге, а не в / usr или чем-либо еще)

Итак, я собрал формат qtjp2imageformat, используя файлы включения jasper и связывая его с этим файлом libjasper.a

вот соответствующие строки из make-файла:

INCPATH       = -I/usr/lib64/qt4/mkspecs/linux-g++-64 -I. -I/usr/lib64/qt4/include/QtCore -I/usr/lib64/qt4/include/QtGui -I/usr/lib64/qt4/include -I../src -I. -I/home/dcole/software/jasper-1.900.1/include
LIBS          = $(SUBLIBS)  -L/usr/lib64/qt4/lib64 -L/home/dcole/software/jasper-1.900.1/lib -ljasper -lQtGui -L/usr/lib64/mysql -L/usr/lib64/qt4/lib64 -L/usr/X11R6/lib64 -lQtCore -lpthread 

Затем я помещаю сгенерированный libqtjp2.so в папку QT Plugins / imageformats, и теперь, когда мой код запускается и попадает в ту часть, где он собирается читать jpeg2000, я получаю следующее: symbol lookup error: /usr/lib64/qt4/plugins/imageformats/libqtjp2.so: undefined symbol: jas_init

Так что я думаю, что jas_init происходит от jasper - почему мой проект QT не может этого увидеть? Нужно ли мне также сделать ссылку на МОЙ проект на libjasper.a или я неправильно связал библиотеку при сборке libqtjp2?

Спасибо

1 Ответ

0 голосов
/ 07 июня 2011

Вы не сказали, какой дистрибутив вы используете, но самым простым было бы установить пакет jasper и связать ваше приложение с его библиотекой.

Кстати, вы собирали статическую библиотеку (* 1003?)*) или динамический (.so)?Попробуйте создать динамическую библиотеку

...