我正在尝试使用带有 Xcode 7 的 openFrameworks (0.9.0) 构建 OSX OCR C++ 应用程序。
OCR 库是需要 Leptonica 的 Tesseract,我已经通过 Homebrew 安装了这两个库。Tesseract 被编译并链接为静态库(.a 文件),并且 Leptonica 根据此链接上的说明通过仅添加 allheaders.h 来添加到项目中。
问题是:在我添加 之后allheaders.h
,Xcode 自动将一个参数匹配allheaders.h
到另一个宏定义中FixMath.h
,这是 OSX CarbonCore 框架中的一个文件。这会在编译过程中导致错误。
冲突中的线allheaders.h
是:
LEPT_DLL extern NUMA * numaFindPeaks ( NUMA *nas, l_int32 nmax, l_float32 fract1, l_float32 fract2 );
冲突中的宏FixMath.h
是:
#define fract1 ((Fract) 0x40000000L)
似乎编译器将宏引用为函数中参数的定义,但我不知道如何切断这种连接。任何人都可以就如何解决这个问题提出一些建议吗?