我需要为一些工作构建不依赖leptonica的tesseract (使用emscripten进行移植)。我查看了make文件,发现tesseract似乎需要leptonica头文件和lib文件才能构建。
提供头文件不是问题,但是由于某些原因我不能提供lib文件(emscripten不会生成leptonica的lib文件)。我试图通过编辑make文件来阻止tesseract请求leptonica,但我似乎走错了路。
我对make/autotools是个新手,我所做的是在整个脚本中删除"ac_link“变量中的$LIB标志,而且在更多我认为它正在调用的地方也是如此。
但我猜这些构建系统可能有一种方法可以更干净地删除依赖项,而不需要编辑配置脚本中的任意位置(可能是像makefile.am这样的位置,或者其他地方)。或者,有没有其他方法可以在不使用leptonica的情况下构建tesseract,以及我如何准确地做到这一点?
抱歉,如果我使用了错误的术语,就像我说的那样,我对上面的构建系统不是很熟悉。
发布于 2015-10-04 22:44:23
恐怕没有办法省略Leptonica,除非您为所需的功能提供一些替代。
我做了一些关于这个问题的研究。目前,Leptonica统计了2481个函数,但Tesseract使用了其中的一小部分-总共163个函数。
因此,你必须提供一个非平凡的163函数的替代品,主要是执行复杂的图像操作,如mathematical morphology,剪切旋转和彩色图像的二值化。
事实上,不可能将Leptonica重新编译为Javascript,这是为了更好地模块化Leptonica。目前,它是一个巨大的单体库,依赖于几种图像格式,如jpeg、gif、tiff、webp等。因此,你必须将libtiff、libgiff、libz、libwebp等适当的库重新编译成Javascript。这是可以更好地实现为插件的东西。
这只是我的两个观点。
https://stackoverflow.com/questions/31230127
复制相似问题