您的位置:首页 > 其它

VS2010编译使用Tesseract OCR 静态库

2014-12-19 11:18 316 查看
一、编译Tesseract OCR 库

1、去GooggleCode上面下载以下源代码:

tesseract-ocr-3.02.02.tar.gz //tesseract源代码

tesseract-ocr-3.02-vs2008.zip //vs2008工程文件

leptonica-1.68-win32-lib-include-dirs.zip //tesseract依赖的leptonica的lib和dll文件

2.先解压tesseract-ocr-3.02-vs2008.zip,解压目录下会有一个tesseract-ocr文件夹。

再将leptonica-1.68-win32-lib-include-dirs.zip 直接解压到相同的目录下,此时目录结构类似于这样:

tesseractvs2010

├─include //保存leptonica-1.68-win32-lib-include-dirs.zip解压后头文件

│ └─leptonica

├─lib //保存leptonica-1.68-win32-lib-include-dirs.zip解压后库文件

├─tesseract-ocr
// 保存tesseract源代码以及vs2008工程文件

再将tesseract-ocr-3.02.02.tar.gz直接解压到tesseract-ocr文件夹下,此时注意有一个子文件夹vs2008\port冲突,

直接把前者port文件夹里面的文件复制进去就行了。

3.直接打开tesseract-ocr\tesseract.sln,按vs2010的提示自动转换工程。

完成后选择编译配置LIB_Debug,编译。

编译过程会出现以下错误:

1> equationdetect.cpp

1>..\..\ccmain\equationdetect.cpp : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失

1>..\..\ccmain\equationdetect.cpp(251): error C2146: 语法错误: 缺少“}”(在标识符“銆”的前面)

1>..\..\ccmain\equationdetect.cpp(251): error C2146: 语法错误: 缺少“;”(在标识符“銆”的前面)

1>..\..\ccmain\equationdetect.cpp(251): error C2065: “銆”: 未声明的标识符

1>..\..\ccmain\equationdetect.cpp(251): error C2146: 语法错误: 缺少“;”(在标识符“銆”的前面)

1>..\..\ccmain\equationdetect.cpp(251): error C2065: “銆”: 未声明的标识符

1>..\..\ccmain\equationdetect.cpp(251): error C2146: 语法错误: 缺少“;”(在标识符“銆”的前面)

1>..\..\ccmain\equationdetect.cpp(251): error C2065: “銆”: 未声明的标识符

1>..\..\ccmain\equationdetect.cpp(251): error C2143: 语法错误 : 缺少“;”(在“}”的前面)

1>..\..\ccmain\equationdetect.cpp(253): error C2065: “kCharsToEx”: 未声明的标识符

1>..\..\ccmain\equationdetect.cpp(253): fatal error C1903: 无法从以前的错误中恢复;正在停止编译

这是错误由于文件编码格式引起的。

解决方法:
双击错误中的一行,打开文件equationdetect.cpp,选择菜单“文件 -- 高级保存选项”,

在窗口中选择“简体中文(gb2312)-代码页936”,保存后重新编译即可。

此时会报一个复制文件出错的编译错误,不过不影响,因为静态库文件已经生成成功了,

就在tesseract-ocr\LIB_DEBUG目录下。暂时不知道这个错误怎么消除。

如果选择LIB_RELEASE配置选项,就不会出现这个复制文件的错误。-_-

默认是动态链接到CRT运行库的,可以自己将其修改为静态链接CRT,重新编译即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: