您的位置:首页 > Web前端

undefined reference to `jpeg_std_error(jpeg_error_mgr*)

2012-12-25 22:42 489 查看
背景 linux + QT BMP图片转JPG

#include <jpeglib.h>

编译错误:

root@happy-virtual-machine:/home/happy/Lee/Detector2# make

arm-linux-g++ -Wl,-O1 -Wl,-rpath,/opt/qt-4.7.1/lib -o Detector2 main.o mainwindow.o osd.o thread_preview.o preview.o thread_encode.o encode.o rtp.o power.o upload.o moc_mainwindow.o moc_thread_encode.o moc_upload.o -L/opt/qt-4.7.1/lib -lQtGui -L/usr/local/tslib/lib
-L/opt/qt-4.7.1/lib -lQtNetwork -lQtCore -lpthread

encode.o: In function `Bmp2Jpg(char const*, char const*, int, int)':

encode.cpp:(.text+0x5ac): undefined reference to `jpeg_std_error(jpeg_error_mgr*)'

encode.cpp:(.text+0x5cc): undefined reference to `jpeg_CreateCompress(jpeg_compress_struct*, int, unsigned int)'

encode.cpp:(.text+0x5f0): undefined reference to `jpeg_stdio_dest(jpeg_compress_struct*, _IO_FILE*)'

encode.cpp:(.text+0x610): undefined reference to `jpeg_set_defaults(jpeg_compress_struct*)'

encode.cpp:(.text+0x620): undefined reference to `jpeg_set_quality(jpeg_compress_struct*, int, int)'

encode.cpp:(.text+0x62c): undefined reference to `jpeg_start_compress(jpeg_compress_struct*, int)'

encode.cpp:(.text+0x6d4): undefined reference to `jpeg_write_scanlines(jpeg_compress_struct*, unsigned char**, unsigned int)'

encode.cpp:(.text+0x6dc): undefined reference to `jpeg_finish_compress(jpeg_compress_struct*)'

encode.cpp:(.text+0x738): undefined reference to `jpeg_destroy_compress(jpeg_compress_struct*)'

encode.cpp:(.text+0x7ec): undefined reference to `jpeg_write_scanlines(jpeg_compress_struct*, unsigned char**, unsigned int)'

encode.cpp:(.text+0x7f4): undefined reference to `jpeg_finish_compress(jpeg_compress_struct*)'

encode.cpp:(.text+0x850): undefined reference to `jpeg_destroy_compress(jpeg_compress_struct*)'

collect2: ld returned 1 exit status

make: *** [Detector2] 错误 1

修改

1、MakeFile

LIBS = $(SUBLIBS) -L/opt/qt-4.7.1/lib -lQtGui -L/usr/local/tslib/lib -L/opt/qt-4.7.1/lib -lQtNetwork -lQtCore -lpthread -ljpeg

2、源文件:

extern "C" {

#include <jpeglib.h>

}


用extern "c" 把 jpeg 有关的头文件包含进来
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐