我目前正在使用https://github.com/tesseract-ocr/tesseract/wiki/Compiling
上的说明从源代码(在Ubuntu 14.04上)构建Tesseract 4.0.0。我正在使用以下./configure参数:
./configure --disable-openmp --disable-graphics --disable-opencl --enable-static LDFLAGS='-static -static-libgcc -static-libstdc++' --disable-shared
之后
make
和sudo make install
我要运行的已编译二进制文件是src/api/tesseract
,它可以按预期工作。问题是,当我对该文件运行ldd时,它实际上显示了依赖性。
我是在错误的地方找到Tesseract的静态二进制文件(我在整个存储库中运行了一条find命令,却没有看到其他看起来像可执行文件的东西),还是我误解了静态二进制文件的含义-我的印象是,它几乎是Tesseract的可执行版本,不需要预先安装任何依赖项。
如果配置选项也有任何问题,请告诉我。我不相信--disable-openmp --disable-graphics --disable-opencl
会影响静态链接与共享链接,但我将它们用于我想要的tesseract构建,因此我将它们包含在更多上下文中。
答案 0 :(得分:0)
$ uname -a
Linux vm00 4.15.0-50-generic#54-Ubuntu SMP 5月6日星期一18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU / Linux
$ echo $ CFLAGS
-静态
$ echo $ LDFLAGS
-static -static-libgcc -static-libstdc ++
$ ./configure --enable-static LDFLAGS ='-static -static-libgcc -static-libstdc ++'--disable-shared
...
配置完成。
$ make
...
全部通过单元测试
...
$ 文件src / api / tesseract
src / api / tesseract:ELF 64位LSB共享对象,x86-64,版本1 (GNU / Linux), 动态链接 ,解释器/ lib64 / l,用于 GNU / Linux 3.2.0, BuildID [sha1] = 96afb1f1ff8962b3f9046c40407364ebf26369d1, debug_info,未剥离
不是静态链接。