我安装了libjpeg-dev,所有文件都在include文件夹中
/usr/include/jerror.h
/usr/include/jmorecfg.h
/usr/include/jpegint.h
/usr/include/jpeglib.h
/usr/include/turbojpeg.h
/usr/include/x86_64-linux-gnu
/usr/include/x86_64-linux-gnu/jconfig.h
当我尝试使用这个简单的代码来解压缩jpeg图像时,我得到了标题中的错误。
这是代码:
#include <stdlib.h>
#include <stdio.h>
#include <jpeglib.h>
int main(void){
struct jpeg_decompress_struct cinfo;
struct jpeg_error_mgr jerr;
cinfo.err = jpeg_std_error(&jerr);
jpeg_create_decompress(&cinfo);
return 0;
}
答案 0 :(得分:9)
同样的问题让我大约两天了!
我的解决方案是使用:
gcc your_code.c -ljpeg
而不是:
gcc -ljpeg your_code.c
编译你的代码。
这里有解释:Why does the order in which libraries are linked sometimes cause errors in GCC?
希望这会有所帮助。答案 1 :(得分:1)
这听起来像是一个链接错误。
您可能没有链接到库代码;只包括标题是不,这不是C的工作方式。
在命令行上添加-ljpeg
之类的内容。