OpenCV 2.4.4 和 Tesseract 3.02.02 不要链接在一起



我使用的是iOS 6.1和XCode 4.6

我有一个问题,OpenCV需要用libc++(LLVM C++11)编译,而Tesseract 3.02.03需要用"默认编译器"编译。

我怎样才能克服这个问题。在这一点上,我只能编译和链接如果我注释掉OpenCV代码或注释掉OCR代码。不能让他们两个一起工作。

有什么想法吗??

我绝不是C++专家,但我也遇到了同样的问题,经过一些尝试和错误,以及大量的互联网搜索,我想我设法解决了它。

据我所知,问题在于opencv和tesseract是用不同的标准库构建的。最新的opencv是用libc++构建的,而tesseract是用stdlibc++构建的

解决方案是重建其中一个,使它们都使用相同的标准库。我决定重新编译tesseract,并遵循此处的说明,该说明引用了用于构建库的构建脚本。

我修改了这个脚本(再次尝试了一个错误,不确定这是最好的方法),使用clang++编译器(CXX="/usr/bin/clang++")和libc++(CXXFLAGS="$CFLAGS -stdlib=libc++"),它进行了编译(带有一些警告的albiet)。您可能还需要复制一些标头,因为脚本似乎并没有全部复制它们。

然后只需使用这个库,而不是iOS项目中下载的库(记住在构建设置中改回libc++),一切都会编译和链接得很好。

到目前为止,它在运行时似乎工作正常。

相关内容

  • 没有找到相关文章

最新更新