经过一番更深入的研究,结果发现leptonica更像是libpng和libtiff这样的标准库的包装,如果找不到它的lib,会默认禁用支持。
有人给我这个运行./configure
时:
checking for png_read_png in -lpng... no
所以我不得不下载和建立的libpng。之后,它仍然没有工作,因为libpng安装在/usr/local/lib
,显然这不是cygwin的默认库路径。所以我不得不使用使用LDFLAGS
添加:
LDFLAGS=-L/usr/local/lib ./configure
,它最终与PNG支持建立后,给这个消息:
checking for png_read_png in -lpng... yes
出于某种原因,在Makefile中混入了链接顺序 - -lpng -lz
,造成连接liblept.la失败,:
png.c:(.text+0x13ab): undefined reference to `crc32'
的唯一途径,我可以解决这个问题是通过运行make V=1
(详细模式)送ee值的实际命令,这是:
make[2]: Entering directory '/home/sasho/leptonica-1.73/src'
/bin/sh ../libtool --tag=CC --mode=link gcc -g -O2 -no-undefined -version-info 5:0:0 -Wl,--as-needed -L/usr/local/lib -o liblept.la -rpath /usr/local/lib adaptmap.lo affine.lo affinecompose.lo arrayaccess.lo bardecode.lo baseline.lo bbuffer.lo bilateral.lo bilinear.lo binarize.lo binexpand.lo binreduce.lo blend.lo bmf.lo bmpio.lo bmpiostub.lo bootnumgen1.lo bootnumgen2.lo boxbasic.lo boxfunc1.lo boxfunc2.lo boxfunc3.lo boxfunc4.lo bytearray.lo ccbord.lo ccthin.lo classapp.lo colorcontent.lo coloring.lo colormap.lo colormorph.lo colorquant1.lo colorquant2.lo colorseg.lo colorspace.lo compare.lo conncomp.lo convertfiles.lo convolve.lo correlscore.lo dewarp1.lo dewarp2.lo dewarp3.lo dewarp4.lo dnabasic.lo dwacomb.2.lo dwacomblow.2.lo edge.lo encoding.lo enhance.lo fhmtauto.lo fhmtgen.1.lo fhmtgenlow.1.lo finditalic.lo flipdetect.lo fliphmtgen.lo fmorphauto.lo fmorphgen.1.lo fmorphgenlow.1.lo fpix1.lo fpix2.lo gifio.lo gifiostub.lo gplot.lo graphics.lo graymorph.lo grayquant.lo grayquantlow.lo heap.lo jbclass.lo jp2kheader.lo jp2kheaderstub.lo jp2kio.lo jp2kiostub.lo jpegio.lo jpegiostub.lo kernel.lo leptwin.lo libversions.lo list.lo map.lo maze.lo morph.lo morphapp.lo morphdwa.lo morphseq.lo numabasic.lo numafunc1.lo numafunc2.lo pageseg.lo paintcmap.lo parseprotos.lo partition.lo pdfio1.lo pdfio1stub.lo pdfio2.lo pdfio2stub.lo pix1.lo pix2.lo pix3.lo pix4.lo pix5.lo pixabasic.lo pixacc.lo pixafunc1.lo pixafunc2.lo pixalloc.lo pixarith.lo pixcomp.lo pixconv.lo pixlabel.lo pixtiling.lo pngio.lo pngiostub.lo pnmio.lo pnmiostub.lo projective.lo psio1.lo psio1stub.lo psio2.lo psio2stub.lo ptabasic.lo ptafunc1.lo ptra.lo quadtree.lo queue.lo rank.lo rbtree.lo readbarcode.lo readfile.lo recogbasic.lo recogdid.lo recogident.lo recogtrain.lo regutils.lo rop.lo ropiplow.lo roplow.lo rotate.lo rotateam.lo rotateamlow.lo rotateorth.lo rotateshear.lo runlength.lo sarray.lo scale.lo scalelow.lo seedfill.lo seedfilllow.lo sel1.lo sel2.lo selgen.lo shear.lo skew.lo spixio.lo stack.lo stringcode.lo sudoku.lo textops.lo tiffio.lo tiffiostub.lo utils.lo viewfiles.lo warper.lo watershed.lo webpio.lo webpiostub.lo writefile.lo zlibmem.lo zlibmemstub.lo -lz -lpng
我然后执行相同的命令(从./src
作为当前目录或它不会工作),但我所附另一个-lz
在端部,这导致它成功。之后,我刚刚重新制作,并继续构建图书馆的其余部分。
cd src
/bin/sh ../libtool --tag=CC --mode=link gcc -g -O2 -no-undefined -version-info 5:0:0 -Wl,--as-needed -L/usr/local/lib -o liblept.la -rpath /usr/local/lib adaptmap.lo affine.lo affinecompose.lo arrayaccess.lo bardecode.lo baseline.lo bbuffer.lo bilateral.lo bilinear.lo binarize.lo binexpand.lo binreduce.lo blend.lo bmf.lo bmpio.lo bmpiostub.lo bootnumgen1.lo bootnumgen2.lo boxbasic.lo boxfunc1.lo boxfunc2.lo boxfunc3.lo boxfunc4.lo bytearray.lo ccbord.lo ccthin.lo classapp.lo colorcontent.lo coloring.lo colormap.lo colormorph.lo colorquant1.lo colorquant2.lo colorseg.lo colorspace.lo compare.lo conncomp.lo convertfiles.lo convolve.lo correlscore.lo dewarp1.lo dewarp2.lo dewarp3.lo dewarp4.lo dnabasic.lo dwacomb.2.lo dwacomblow.2.lo edge.lo encoding.lo enhance.lo fhmtauto.lo fhmtgen.1.lo fhmtgenlow.1.lo finditalic.lo flipdetect.lo fliphmtgen.lo fmorphauto.lo fmorphgen.1.lo fmorphgenlow.1.lo fpix1.lo fpix2.lo gifio.lo gifiostub.lo gplot.lo graphics.lo graymorph.lo grayquant.lo grayquantlow.lo heap.lo jbclass.lo jp2kheader.lo jp2kheaderstub.lo jp2kio.lo jp2kiostub.lo jpegio.lo jpegiostub.lo kernel.lo leptwin.lo libversions.lo list.lo map.lo maze.lo morph.lo morphapp.lo morphdwa.lo morphseq.lo numabasic.lo numafunc1.lo numafunc2.lo pageseg.lo paintcmap.lo parseprotos.lo partition.lo pdfio1.lo pdfio1stub.lo pdfio2.lo pdfio2stub.lo pix1.lo pix2.lo pix3.lo pix4.lo pix5.lo pixabasic.lo pixacc.lo pixafunc1.lo pixafunc2.lo pixalloc.lo pixarith.lo pixcomp.lo pixconv.lo pixlabel.lo pixtiling.lo pngio.lo pngiostub.lo pnmio.lo pnmiostub.lo projective.lo psio1.lo psio1stub.lo psio2.lo psio2stub.lo ptabasic.lo ptafunc1.lo ptra.lo quadtree.lo queue.lo rank.lo rbtree.lo readbarcode.lo readfile.lo recogbasic.lo recogdid.lo recogident.lo recogtrain.lo regutils.lo rop.lo ropiplow.lo roplow.lo rotate.lo rotateam.lo rotateamlow.lo rotateorth.lo rotateshear.lo runlength.lo sarray.lo scale.lo scalelow.lo seedfill.lo seedfilllow.lo sel1.lo sel2.lo selgen.lo shear.lo skew.lo spixio.lo stack.lo stringcode.lo sudoku.lo textops.lo tiffio.lo tiffiostub.lo utils.lo viewfiles.lo warper.lo watershed.lo webpio.lo webpiostub.lo writefile.lo zlibmem.lo zlibmemstub.lo -lz -lpng -lz
cd -
make
为什么你不使用标准的'libpng16-devel'软件包进行编译而不是自己编译它? PS:cygwin也有一个tesseract 3.04.01包。 – matzeri
@matzeri因为我不知道从哪里得到它。我不知道输入什么命令才能得到它。没有'apt-get'。 – sashoalm
标准工具:使用安装程序'https:// cygwin.com/cygwin-ug-net/setup-net.html#setup-packages' – matzeri