Leptonica与Xcode框架冲突

Leptonica conflicts with Xcode framework

本文关键字:冲突 框架 Xcode Leptonica      更新时间:2023-10-16

我正在尝试使用带有Xcode 7的openFrameworks(0.9.0)构建一个OSX OCR C++应用程序。

OCR库是Tesseract,它需要Leptonica,我已经通过Homebrew安装了这两个。Tesseract被编译并链接为一个静态库(.a文件),Leptonica通过根据该链接上的说明仅添加allheaders.h而添加到项目中。

问题是:在我添加了allheaders.h之后,Xcode自动将allheaders.h中的一个参数与FixMath.h中的另一个宏定义进行匹配,后者是OSX CarbonCore Framework中的文件。这导致编译过程中出现错误。

allheaders.h中冲突的行是:

LEPT_DLL extern NUMA * numaFindPeaks ( NUMA *nas, l_int32 nmax, l_float32 fract1, l_float32 fract2 );

FixMath.h中冲突的宏是:

#define fract1 ((Fract) 0x40000000L)

编译器似乎引用了宏作为函数中参数的定义,但我不知道如何切断这种连接。有人能就如何解决这个问题提出一些建议吗?

我刚刚也遇到了这个问题——似乎可以通过简单地用来定义宏来克服这个问题

#undef fract1

在您的代码中。