使用交叉编译好的jpeglib时,程序中包含了#include "jpeglib.h",在编译时加上-ljpeg参数,编译时没问题,但是链接时出现如下的错误提示:
undefined reference to `jpeg_std_error(jpeg_error_mgr*)'
……
都是一堆undefined提示,后来发现我是用arm-linux-g++进行编译,而jpeg库全是用arm-linux-gcc编译的,这时就出现了一个兼容的问题,解决方法是:
extern "C" {
#include <jpeg.h>
}
即用extern "C" {}把头文件包含进来。
修改后重新编译链接工程,则能顺利通过。