2013-04-06 13 views
5

私のXCodeプロジェクトがlibC++/C++ 11のサポートではなくlibstdC++を使うように設定されているため、最新のバージョンのOpenCVを既存のiOSプロジェクトに組み込もうとしています。iOS用のOpenCV 2.4.3+とlibstdC++?

私は、libC++を有効にすることによってエラーを修正したいくつかの人たちを見てきました。例:

はしかし、私はすでに古いSTDLIB(変更することはできません)でコンパイルされている他のサードパーティのライブラリを持っているためのlibstdC++を使用する必要があります。 -stdlib = libC++なしでOpenCV 2.4.3+をコンパイルする方法はありますか? CMakeに渡す特別なフラグはありますか? OpenCVソースコードのiosフォルダに入っているbuild_framework.pyスクリプトにはどうしたらいいですか?

また、誰でもバイナリバージョンを入手できますか? OpenCVはlibC++/C++ 11を想定しています。

ios/cmake/Modules/Platform/iOS.cmake 

変更この行:

set (CMAKE_CXX_FLAGS "-stdlib=libc++ -headerpad_max_install_names -fvisibility=hidden -fvisibility-inlines-hidden") 

へ:

set (CMAKE_CXX_FLAGS "-stdlib=libstdc++ -headerpad_max_install_names -fvisibility=hidden -fvisibility-inlines-hidden") 

コンパイルPythonスクリプト

ios/build_framework.py 
を使用してこのファイルを見つけるOpenCVのためのソースで

答えて

10

私は既存のプロジェクトの結果の枠組みの中で交換され、2.4.3のソースでこれを試してみました

を行くこと

は、その後、あなたが良いことがあり、プロジェクトはのlibstdC++とそれが正常に動作のためのC++標準ライブラリを変更しました。

+0

はい!それはかなり簡単な解決策です。ありがとう。 – mikewoz

1

私はOpenCVとlibstdC++を必要とする第三者のライブラリを使用するプロジェクトに取り組んでいます。

私はこの問題に直面したので、私にとってうまくいったことを分かち合いたいと思いました。


"libC++。dylib"をプロジェクトに追加することで、OpenCVが動作するようになりました。

ビルドフェーズ - > "ライブラリとリンクバイナリ" - > "+" - >のlibC++私はopencv.orgからOpenCVの2.4.9(OpenCVの-2.4.9)を使用しています、参考のため

dylib。私は、OpenCVのドキュメントの指示に従ってiosプラットフォームbuild_framework.pyを使用してそれをコンパイルしました。変更は必要ありません。