执行Leptonica图像处理库中的代码示例

时间:2011-02-16 20:37:03

标签: c linker compilation

我正在尝试编译然后执行Leptonica示例程序colorquant_reg.c

事实:

  • 操作系统: Ubuntu

  • 位置: leptonlib-1.67/src/colorquant_reg.c

    (我将其移至src,因为我现在还没有告诉编译器丢失的allheaders.h库文件位于/src而不是colorquant_reg.c的原始位置{1}} {1}} {/ p>

  • 我尝试了什么: leptonlib-1.67/prog

  • 预期结果:我可以使用可执行文件来量化我的gcc -I. colorquant_reg -o out文件。

  • 错误:

    .tif
  • 问题1:如何开始编译此程序?

  • 问题2:由于我缺少进一步包含的内容,是否会弹出未定义的引用?

欢呼声

1 个答案:

答案 0 :(得分:6)

这就是我所做的:

  • 下载http://www.leptonica.com/source/leptonlib-1.67.tar.gz
  • 将其解压缩为/home/misha/src
  • ./configure; make
  • prog/colorquant_reg.c复制到/home/misha/Desktop/stackoverflow
  • 可选择根据自己的喜好编辑/home/misha/Desktop/stackoverflow/colorquant_reg.c - 它不再是库的一部分。所以我想这是你可以添加新标题等的地方。

然后,从/home/misha/Desktop/stackoverflow,我可以使用以下命令编译文件:

export LIBLEPT=/home/misha/src/leptonlib-1.67/
gcc colorquant_reg.c -I$LIBLEPT/src -L$LIBLEPT/src/.libs -llept -o colorquant_reg.out

第一行只是为了方便起见 - 我们现在可以使用$LIBLEPT来引用长路径名。第二行是汇编:

  • -I告诉编译器在哪里查找包含文件
  • -L告诉编译器在哪里查找库文件(对于链接器)
  • -llept告诉链接器链接leptonica(它会查找liblept.so
  • -o指定输出文件,该文件现在位于~/Desktop/stackoverflow/colorquant_reg.out