加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

适用于iOS的libstdc OpenCV 2.4.3?

发布时间:2020-12-14 19:30:43 所属栏目:百科 来源:网络整理
导读:我正在尝试将最新版本的OpenCV包含到现有的iOS项目中并且因为我的XCode项目设置为使用libstdc而不是libc / C 11支持而导致链接器错误. 我见过其他几个通过启用libc修复错误的人.例子: Linker errors after upgrading Xcode to 4.5.2 and OpenCV to 2.4.3 Ho
我正在尝试将最新版本的OpenCV包含到现有的iOS项目中并且因为我的XCode项目设置为使用libstdc而不是libc / C 11支持而导致链接器错误.

我见过其他几个通过启用libc修复错误的人.例子:

> Linker errors after upgrading Xcode to 4.5.2 and OpenCV to 2.4.3
> How to resolve iOS Link errors with OpenCV

但是,我需要使用libstdc,因为我有其他第三方库已经使用较旧的stdlib编译(无法更改).有没有办法在没有-stdlib = libc的情况下编译OpenCV 2.4.3?是否有特殊标志传递给CMake?或者OpenCV源代码的ios文件夹中的build_framework.py脚本?

或者,是否有人有二进制版本?似乎所有可从OpenCV下载的都假设为libc / C 11.

解决方法

在openCV的源代码中找到此文件:

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

然后你应该好好去

我刚刚在2.4.3源代码上尝试了这个,在现有项目中交换了生成的框架,将项目的C标准库更改为libstdc并且运行正常.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读