背景 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、源文件:
#include <jpeglib.h>
}