当前位置: 技术问答>linux和unix
jpeglib(libjpeg.a)调用问题
来源: 互联网 发布时间:2016-03-24
本文导语: 我在redhat Enterprice linux as4 调用jpeglib,把BMP图片转为JPG,我是在我的.so调用libjpeg.a,我已经把libjpeg.a编译进我的.so下, 但是在调用我的.so时,老报" undefined symbol: _Z14jpeg_std_error P14jpeg_error_mgr"错误,不知道为什么。...
我在redhat Enterprice linux as4 调用jpeglib,把BMP图片转为JPG,我是在我的.so调用libjpeg.a,我已经把libjpeg.a编译进我的.so下,
但是在调用我的.so时,老报" undefined symbol: _Z14jpeg_std_error P14jpeg_error_mgr"错误,不知道为什么。
Makefile如下:
...
CC=g++
CFLASS=-Wall -o -g -fpic
BaseChar.o: BaseChar.cpp BaseChar.h jpeglib.h
$(CC) $(CFLASS) -c BaseChar.cpp -o BaseChar.o
...
so:
g++ -shared -o mylib.so BaseChar.o -L. -ljpeg//编译通过,这句话已经把静态库libjpeg.a编译进了mylib.so,然后调用mylib.so,就报" undefined symbol: _Z14jpeg_std_error P14jpeg_error_mgr"错误,不知道为什么。
但是在调用我的.so时,老报" undefined symbol: _Z14jpeg_std_error P14jpeg_error_mgr"错误,不知道为什么。
Makefile如下:
...
CC=g++
CFLASS=-Wall -o -g -fpic
BaseChar.o: BaseChar.cpp BaseChar.h jpeglib.h
$(CC) $(CFLASS) -c BaseChar.cpp -o BaseChar.o
...
so:
g++ -shared -o mylib.so BaseChar.o -L. -ljpeg//编译通过,这句话已经把静态库libjpeg.a编译进了mylib.so,然后调用mylib.so,就报" undefined symbol: _Z14jpeg_std_error P14jpeg_error_mgr"错误,不知道为什么。
|
jpeglib.h文件中首尾两头加上:
首:
#ifndef __cplsuplus
extern "C" {
#endif
尾:
#ifndef __cplsuplus
}
#endif
首:
#ifndef __cplsuplus
extern "C" {
#endif
尾:
#ifndef __cplsuplus
}
#endif
|
g++ -shared -o mylib.so BaseChar.o -L. -ljpeg
改成下面试试:
g++ -shared -o mylib.so BaseChar.o libjpeg.a
改成下面试试:
g++ -shared -o mylib.so BaseChar.o libjpeg.a
|
请问一下LZ是怎么调用的。???
我认为生成的mylib.so没有问题。
我认为生成的mylib.so没有问题。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。