c++ - Leptonica 与 Xcode 框架冲突

标签 c++ xcode macos ocr leptonica

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

OCR 库是 Tesseract,它需要 Leptonica,我已经通过 Homebrew 安装了这两个库。 Tesseract 被编译并链接为一个静态库(.a 文件),Leptonica 被添加到项目中,方法是根据 this 上的说明仅添加 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

在您的代码中。

关于c++ - Leptonica 与 Xcode 框架冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36394155/

相关文章:

c++ - 如何在不使用全局变量的情况下在函数之间使用多个变量?

c++ - 在 CMake 中检查 C 程序输出

ios - 应用程序传输安全加载即使添加后也出错

macos - SVN 1.8.4 libserf-1.1.3.0.dylib

macos - 如何使用 ssh key 从 mac 到 ubuntu 自动挂载 sshfs

c++ - 全局和嵌套匿名命名空间中的歧义访问标识符

c++ - 在 C++ 中使用带有参数的系统命令

iphone - 如何在 XML (iOS) 中获取标签的一部分

ios - 从值包含字符串的核心数据中获取

swift - 在 Xcode 中运行 Mac Catalyst 应用程序时出现错误代码 -10670