我试图在我的Mac应用程序中使用tesseract
。因此,我编译了leptonica
和tesseract
,将所有头文件和.a文件复制到我的项目中。
之后我将AppDelegate.m文件重命名为AppDelegate.mm。
现在我试图像这样使用tesseract
:
#include "baseapi.h"
...
tesseract::TessBaseAPI *tess = new tesseract::TessBaseAPI();
tess->Init([[[NSBundle mainBundle] bundlePath] stringByAppendingString:@"tessdata"], "eng");
不幸的是,在第二行我收到错误:
"No matching member function for call to 'Init'"
我做错了什么?我在编译时犯了错误吗?
这是我编译的bash脚本:bash-script link
答案 0 :(得分:1)
查看api的一些文档,最佳匹配签名是
int Init (const char *datapath, const char *language)
在你的情况下,你传递了这个
[[[NSBundle mainBundle] bundlePath] stringByAppendingString:@"tessdata"]
返回NSString *,而不是const char ptr
试试这个
tess->Init([[[[NSBundle mainBundle] bundlePath] stringByAppendingString:@"tessdata"] UTF8String], "eng");