iOS   发布时间:2022-05-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – Leptonica与Xcode框架冲突大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我正在尝试使用带有 Xcode 7的openFrameworks(0.9.0)构建OSX OCR C应用程序. OCR库是Tesseract,需要Leptonica,我已经通过Homebrew安装了这两个. Tesseract被编译并链接为静态库(.a文件),并且通过仅根据this链接上的说明添加allheaders.h将Leptonica添加到项目中. 问题是:在我添加了allheaders.h
我正在尝试使用带有 Xcode 7的openFrameworks(0.9.0)构建OSX OCR C应用程序.

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

问题是:在我添加了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框架冲突全部内容,希望文章能够帮你解决c – Leptonica与Xcode框架冲突所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。