繁体   English   中英

QT项目中的符号查找错误问题

[英]Symbol lookup error problem in QT project

我正在尝试向 Qt 插件文件夹添加一个新库。

该插件位于: http://qt.gitorious.org/qt-solutions/qt-solutions/trees/master/qtjp2imageformat

它说它需要 jasper 来构建,所以我下载了 jasper,并构建了它,在我的 jasper/lib 文件夹中生成了一个 libjasper.a(它在我的主目录中,而不是 /usr 或任何东西)

所以我使用 jasper 包含文件构建了 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 时是否将库链接错误?

谢谢

您没有说您使用的是哪个发行版,但最简单的方法是安装 jasper package 并将您的应用程序链接到它的库。

顺便说一句,您是构建 static 库( .a )还是动态库( .so )? 尝试构建动态库

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM