2011-06-07 44 views
0

我正在嘗試將新庫添加到Qt插件文件夾中。QT項目中的符號查找錯誤問題

把插件位於: http://qt.gitorious.org/qt-solutions/qt-solutions/trees/master/qtjp2imageformat

它說,它需要碧玉打造,所以我下載碧玉,建成它,產生在我的碧玉/ lib文件夾一個libjasper.a(這是我的主目錄,而不是在/ usr或任何東西)

所以我建立了qtjp2imageformat使用碧玉包括文件,並針對libjasper.a文件鏈接

這裏有相關線路從生成文件:

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 

我然後把在QT插件/ imageformats文件夾libqtjp2.so產生的,而現在當我的代碼運行,並得到地方它會讀取JPEG2000的一部分,我得到如下:symbol lookup error: /usr/lib64/qt4/plugins/imageformats/libqtjp2.so: undefined symbol: jas_init

所以我認爲jas_init來自jasper - 我的QT項目怎麼看不到?我是否也需要使我的項目鏈接對libjasper.a,或者我建立libqtjp2時鏈接庫錯?

感謝

回答

0

你沒有說你正在使用的發行版,但最簡單的辦法是安裝的碧玉包和鏈接應用到它的庫。順便說一下,你建立了靜態庫(.a)還是動態的(.so)?嘗試建立一個動態庫

相關問題