mik*_*woz 5 c++ xcode opencv ios c++11
我正在尝试将最新版本的OpenCV包含到现有的iOS项目中,并且因为我的XCode项目设置为使用libstdc ++而不是libc ++/C++ 11支持而导致链接器错误.
我见过其他几个通过启用libc ++修复错误的人.例子:
但是,我需要使用libstdc ++,因为我有其他第三方库已经使用较旧的stdlib编译(无法更改).有没有办法在没有-stdlib = libc ++的情况下编译OpenCV 2.4.3+?是否有特殊标志传递给CMake?或者OpenCV源代码的ios文件夹中的build_framework.py脚本?
或者,是否有人有二进制版本?似乎所有可从OpenCV下载的都假设是libc ++/C++ 11.
fou*_*dry 10
在openCV的源代码中找到此文件:
ios/cmake/Modules/Platform/iOS.cmake
Run Code Online (Sandbox Code Playgroud)
改变这一行:
set (CMAKE_CXX_FLAGS "-stdlib=libc++ -headerpad_max_install_names -fvisibility=hidden -fvisibility-inlines-hidden")
Run Code Online (Sandbox Code Playgroud)
至:
set (CMAKE_CXX_FLAGS "-stdlib=libstdc++ -headerpad_max_install_names -fvisibility=hidden -fvisibility-inlines-hidden")
Run Code Online (Sandbox Code Playgroud)
使用python脚本编译
ios/build_framework.py
Run Code Online (Sandbox Code Playgroud)
然后你应该好好去
我刚刚在2.4.3源代码上尝试了这个,在现有项目中交换了生成的框架,将项目的C++标准库更改为libstdc ++并且运行正常.
| 归档时间: |
|
| 查看次数: |
3095 次 |
| 最近记录: |