Qtプラグインフォルダに新しいライブラリを追加しようとしています。
そのプラグインはここにあります:http: //qt.gitorious.org/qt-solutions/qt-solutions/trees/master/qtjp2imageformat
ビルドにはjasperが必要であると書かれているので、jasperをダウンロードしてビルドし、jasper / libフォルダー(/ usrなどではなくホームディレクトリにあります)にlibjasper.aを生成します。
そこで、jasper includeファイルを使用してqtjp2imageformatを構築し、そのlibjasper.aファイルに対してリンクしました。
makefileの関連する行は次のとおりです。
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をビルドしたときにライブラリを間違ってリンクしましたか?
ありがとう