【问题标题】:Compilation error on include with ljpeg library in CC 中包含 ljpeg 库时的编译错误
【发布时间】:2015-11-19 00:20:05
【问题描述】:

我有一个大学项目,我需要使用 libjpeg(C 语言)来完成老师给我们的 2 个代码。这是关于将图片转换为 ASCII 符号(就像 ASCII 绘图,你知道的)

我们有一个读取 jpg 的代码和一个写入 jpg 的代码。

问题是我必须安装 libjpeg,我认为安装很顺利,但我不确定,所以我有 2 个问题

  1. 如何验证 libjpeg 是否已正确安装?我没有将它链接到 gcc,所以我必须使用选项告诉 gcc jpeg-6b(包含 ljpeg 的文件夹)在哪里,所以我尝试了这个:

    键入“gcc -L/jpeg-6b”文件夹是jpeg-6b,它就在我执行命令的位置。我只收到有关输入为空(正常正常)的错误消息,我认为如果未正确安装 lib,我应该收到错误消息说我不能使用 libjpeg 版本,对吧?

  2. 在我说的老师给我们的两个代码中,她把#include <libjpeg>放在它的开头。但我在互联网上看到人们使用#include <jpeglib.h>,但他们都不起作用,我收到一条消息告诉我:

    test.c:1:21: fatal error: jpeglib.h: no such file or directory
     #include <jpeglib.h>
    

    我的包含不好吗?还是 libjpeg 安装错误? (我阅读了文档,然后我做了./configure 然后就像它说的那样)

【问题讨论】:

  • 我怀疑/jpeg-6b 是安装库的实际目录。请确认。 “如果 lib 没有正确安装,我应该得到一个错误,说我不能使用 libjpeg 版本,对吧。”不,这是不对的。如果命令行不完整,它甚至不会尝试查找库。你需要类似gcc -L&lt;full_path_to_libjpeg&gt; -ljpeg my_program.c
  • 啊,好吧,我把链接放到包含文件源的文件夹中,我怎样才能找到我的 lib 安装的目录?
  • 请发布完整的./configure 命令,然后不管您是否使用make install
  • 是的,我做到了,它在文档中:pastebin.com/1kwkx635 我确实做到了这一点,但我需要做更多的事情吗?完整的文档在这里:libjpeg.sourceforge.net(在 zip 中,有一个 install.txt 文件)
  • 我在第 2 页和第 3 页看到有一些配置选项,但它们是可选的还是我需要选择其中一些? (我用的是 Xubuntu)

标签: c gcc include libjpeg


【解决方案1】:

就像您添加-L/jpeg-6b 一样,您也需要-I/jpeg-6b/path/to/jpeg/headers。我会推荐 Makefile 来自动执行此操作。

【讨论】:

  • 我刚试过这个,但我输入的是一样的:gcc -L/jpeg-6b -I/jpeg-6b/test.c 编辑:看来我的文件夹地址不正确(见我上面的评论)我在哪里可以找到安装外部库的目录?
  • 可能是-Ljpeg-6b/lib -Ijpeg-6b/include?您使用的具体配置命令是什么?
  • 你的库没有安装!它就在文件系统的某个地方,你只需要告诉编译器在哪里,并正确地执行它。
  • 不是吗?我完全按照文档中所说的做了:pastebin.com/1kwkx635 我必须做的不仅仅是 ./configure 和 make 吗?做测试?完整的文档在这里:libjpeg.sourceforge.net(在 zip 中,有一个 install.txt 文件)我按照所说的安装它
  • 我在第 2 页和第 3 页看到有一些配置选项,但它们是可选的还是我需要选择其中一些? (我用的是 Xubuntu)
猜你喜欢
  • 2013-01-24
  • 1970-01-01
  • 2010-09-30
  • 2012-07-28
  • 1970-01-01
  • 1970-01-01
  • 2016-02-06
  • 2013-03-23
  • 1970-01-01
相关资源
最近更新 更多