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

发布于 2024-10-17 12:08:19 字数 978 浏览 0 评论 0原文

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

事实:

  • 操作系统: Ubuntu

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

    (我将其移至 src ,因为我现在不知道如何告诉编译器缺少的 allheaders.h 库文件位于 /src 并且不在 leptonlib-1.67/progcolorquant_reg.c 的原始位置)

  • <强>我尝试过: gcc -I。 colorquant_reg -o out

  • 预期结果:我可以用来对我的 .tif 文件进行颜色量化的可执行文件。

  • 错误:

    /temp/cckdQZcM.o:在函数 main' 中:
    colorquant_reg.c:(.text+0x37:对 regTestSetup 的未定义引用
    colorquant_reg.c:(.text+0xa5:对 regTestCleanup 的未定义引用
    /tmp/cckdQZcM.o:在函数 TestImage 中
    colorquant_reg.c:(.text+0xe0: 对 pixRead 的未定义引用
    
  • 问题1:我该如何编译这个程序?

  • 问题 2:弹出未定义的引用是因为我缺少进一步包含的内容吗?

干杯

I am trying to compile then execute the Leptonica example program colorquant_reg.c

Facts:

  • OS: Ubuntu

  • Location: leptonlib-1.67/src/colorquant_reg.c

    (I moved it to src since I didn't now how to tell the compiler that the missing allheaders.h library file is located in /src and not in the original location of colorquant_reg.c of leptonlib-1.67/prog)

  • What I tried: gcc -I. colorquant_reg -o out

  • Expected result: An executable I could use to color quantize a .tif file of mine.

  • Error:

    /temp/cckdQZcM.o: In function main':
    colorquant_reg.c:(.text+0x37: undefined reference to regTestSetup
    colorquant_reg.c:(.text+0xa5: undefined reference to regTestCleanup
    /tmp/cckdQZcM.o: In function TestImage'
    colorquant_reg.c:(.text+0xe0: undefined reference to pixRead
    
  • Question 1: How do I go about and compile this program?

  • Question 2: Is the undefined reference popping up because of me missing to include something further?

cheers

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

十六岁半 2024-10-24 12:08:19

这是我所做的:

  • 下载 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

Here's what I've done:

  • Download http://www.leptonica.com/source/leptonlib-1.67.tar.gz
  • Extract it to /home/misha/src
  • ./configure; make
  • copy prog/colorquant_reg.c to /home/misha/Desktop/stackoverflow
  • optionally, edit /home/misha/Desktop/stackoverflow/colorquant_reg.c to your liking -- it's not part of the library anymore. So I guess this is where you can add your new headers, etc.

Then, from /home/misha/Desktop/stackoverflow, I can compile the file using this command:

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

The first line is just for convenience -- we can now use $LIBLEPT to refer to the long pathname. The second line is what does the compilation:

  • -I tells the compiler where to look for the include files
  • -L tells the compiler where to look for the library files (for the linker)
  • -llept tells the linker to link with leptonica (it will look for liblept.so
  • -o specifies the output file, which now lives in ~/Desktop/stackoverflow/colorquant_reg.out
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文