执行 Leptonica 图像处理库中的代码示例
我正在尝试编译然后执行 Leptonica 示例程序 colorquant_reg.c
事实:
操作系统: Ubuntu
位置:
leptonlib-1.67/src/colorquant_reg.c
(我将其移至
src
,因为我现在不知道如何告诉编译器缺少的allheaders.h
库文件位于/src
并且不在leptonlib-1.67/prog
的colorquant_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 missingallheaders.h
library file is located in/src
and not in the original location ofcolorquant_reg.c
ofleptonlib-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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这是我所做的:
/home/misha/src
./configure; make
prog/colorquant_reg.c
复制到/home/misha/Desktop/stackoverflow
/home/misha/Desktop/stackoverflow/colorquant_reg .c
根据您的喜好 - 它不再是库的一部分。所以我想这是您可以添加新标头等的地方。然后,从
/home/misha/Desktop/stackoverflow
,我可以使用以下命令编译文件:第一行只是为了方便-- 我们现在可以使用
$LIBLEPT
来引用长路径名。第二行是编译的内容:-I
告诉编译器在哪里查找包含文件-L
告诉编译器在哪里查找库文件(对于链接器)-llept
告诉链接器与 leptonica 链接(它将查找liblept.so
-o
指定输出文件,该文件现在存在在~/Desktop/stackoverflow/colorquant_reg.out
Here's what I've done:
/home/misha/src
./configure; make
prog/colorquant_reg.c
to/home/misha/Desktop/stackoverflow
/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: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 forliblept.so
-o
specifies the output file, which now lives in~/Desktop/stackoverflow/colorquant_reg.out