2013-02-12 48 views
5

我使用的是iOS 6.1和4.6的XCodeOpenCV的2.4.4和正方体02年2月3日不要链接在一起

我有一个问题,OpenCV的需要用的libC++编译(LLVM C++ 11),而正方体需要使用“默认编译器”编译3.02.03。

我该如何解决这个问题。在这一点上,我只能编译和链接如果我注释掉OpenCV代码或注释掉OCR代码。不能让他们一起工作。

任何想法??

+0

更accourare,OpenCV的要求我的iOS项目与编译:的libC++,而正方体需要“默认的编译器”。 – Shvalb 2013-02-20 06:11:54

回答

2

我绝不用C++方面的专家,但我有同样的问题,并通过一些试验和错误,许多互联网上的搜索,我认为我设法解决这个问题。

据我了解,问题是,OpenCV的和正方体与不同的标准库建成。最新的OpenCV是建立与的libC++而正方体与stdlibc内置++

的解决方案是重建它们中的一个,他们都使用相同的标准库。我决定重新编译tesseract,并遵循here的指示,其中引用了用于构建库的build script。使用clang ++编译器(CXX="/usr/bin/clang++")并使用libC++(CXXFLAGS="$CFLAGS -stdlib=libc++")并编译(albiet带有一些警告),我修改了这个脚本(再次尝试一个错误,并不确定这是否是最好的方法)。您可能还需要复制一些标题,因为脚本似乎没有将它们全部复制。

然后,只需使用这个库,而不是在您的iOS项目中下载一个(记得要改回来到libC++中构建设置),一切都将编译和链接就好了。

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

+0

似乎工作。我仍然在测试这个配置,但看起来不错。谢谢! – Sebastian 2013-04-10 11:21:59

+1

你会介意上传你的库文件到github供其他人使用而不是重新编译吗? – 2013-04-24 03:59:26

+0

@barduck你能分享编译的库吗?我做了所有这些,但仍然存在编译问题。 – Shmidt 2013-05-12 07:08:06

相关问题