2

我安装 libjpeg-dev 并且所有文件都在包含文件夹中

/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;
}
4

2 回答 2

12

同样的问题困扰了我大约两天!

我的解决方案是使用:

gcc your_code.c -ljpeg

代替:

gcc -ljpeg your_code.c

编译你的代码。

这是解释:为什么链接库的顺序有时会导致 GCC 中的错误?

希望这会有所帮助。

于 2014-03-07T13:31:08.343 回答
2

这听起来像是一个链接错误。

您可能没有链接到库代码;仅仅包括标题是不够的,这不是 C 的工作方式。

在命令行中添加类似-ljpeglast 的内容。

于 2013-11-12T14:52:21.613 回答