0

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をビルドしたときにライブラリを間違ってリンクしましたか?

ありがとう

4

1 に答える 1

0

どのディストリビューションを使用しているかはわかりませんが、最も簡単なのは、jasperパッケージをインストールして、アプリケーションをそのライブラリにリンクすることです。

ちなみに、静的ライブラリ(.a)または動的(.so)を構築しましたか?ダイナミックライブラリを構築してみてください

于 2011-06-07T19:41:20.777 に答える