iOS下Symbol not found: ___sincosf_stret错误

在调试一个带第三方库的多媒体应用中,发现在iOS6.1.2的版本上必然crash,显示Symbol not found: ___sincosf_stret错误,这个错误很少见。

如上图所示,从提示上看,是在延迟绑定符号表时出错了,没有找到___sincosf_stret,然后很贴心的提示了libSystem.B.dylib这个动态库,因为确实没有加入libSystem.B.dylib这个动态库,第一反应就是加入这个动态库。编译运行,没有丝毫变化。

仔细一想,确实没有道理,这个提示有点莫名其妙,于是上网搜索了一下,发现有人在iOS上用openCV,也遇到了类似的问题,有人回贴说更换command line tool,死马当活马医试了一下,问题照旧。但这个帖子是比较旧,当时xcode5刚刚出来,还是dp版本的时候的事情,主要原因不是编译器的选项,而是第三方的库的兼容,这给了我一个思路,会不会我也是第三方库的兼容问题?

然后我尝试了运行在iOS7上,果然,运行就正常了,这就说明确实和SDK有关系,因为第三方的库是基于7.1的SDK编译出来的。

遇到的这个问题,原因是因为要deploy在iOS7上的target错误的deploy在更低的版本上了,更新第三方库后就解决了问题

调试中遇到稀奇古怪的问题是要多观察,仔细分析,也需要多看看其他人的做法。

时间: 2024-08-08 21:58:12

iOS下Symbol not found: ___sincosf_stret错误的相关文章

解决ios下的微信打开的页面背景音乐无法自动播放

后面的项目发现,还有两个坑,需要注意下: ·本文的解决方案的核心是利用了 微信/易信 在ready的时候会有个 WeixinJSBridgeReady/YixinJSBridgeReady事件,通过监听这个事件来触发的.那有个坑就是 如果微信已经ready了,但还没执行到你监听这个ready事件的代码,那么你的监听是没用的,所以最理想的情况是,监听的js放在head前面(放在css外链之前),确保最新执行,切记!切记!. ·另一个坑就是,本文的解决方案只适合一开始就播放的背景音乐.如果你是做那种

iOS 下的相册与图片处理

iOS 下的相册与图片处理 需求 很多公司项目中都会使用到相册,以及相机,保存图片,从相册中选取图片等等操作.本文将详细介绍该功能如何实现优化,以及使用一些优秀的第三方库来辅助完成我们的需求. photos framework 的使用 Photos Framework reference Classes PHAdjustmentData /* When a user edits an asset, Photos saves a PHAdjustmentData object along with

iOS duplicate symbol _main in:问题解决

今天手贱给自己挖了个坑,由于工程中一些文件是后台的小伙伴写的C/C++文件,所以我一次性全部导入了,但是编译时出现了duplicate symbol _main in: A.o和B.o的编译错误. 下面写一个最简单的Demo还原这个情景. 新建一个工程,再新建Hello.h和Hello.c文件,代码如下: Hello.h #ifndef __Main__Hello__ #define __Main__Hello__ #include <stdio.h> int main(); #endif /

ios下(个人公司非企业级)AdHoc在线安装全环境配置

1,环境 客户端开发:MacOs 10.8.5 服务器开发:Centos6.3 64位 2,软件准备 Apache httpd 2.2.27 OpenSSL 0.9.8za 3,客户端准备 Apple的开发者账号大致分如下三类:个人,公司,企业,这一篇我们主要说下个人.公司的ipa在线安装.个人公司级别的AdHoc有这样一个限制:就是在线发布的ipa包只能安装 在添加到Apple账号的Devices列表中(发布IPA之后再添加的设备需要重新打IPA包)的非越狱设备及越狱设备中,而企业级的开发者账

ios 下锁使用- 09-多线程

ios 下锁使用 时间:2014-08-08 15:36:56 总结下我所了解的ios下的锁: 1. 互斥锁 @synchronized,@synchronized块隐式的添加一个异常处理例程来保护代码.该处理例程会在异常抛出的时候自动的释放互斥锁.这意味着为了使用@synchronized指令,你必须在你的代码中启用异常处理. NSLock NSRecursiveLock,递归锁,一个线程中可以多次使用 NSConditionLock,条件锁,其实也是一种互斥锁:类似的有NSCondition

iOS下创建framewok(上)

iOS开发中,有时候需要将一些工具包装起来,做成sdk提供给客户使用,制作过程可以分为两种.一种是制作静态库.a文件,一种是制作成framework文件.前者操作起来简单,但是提供给客户时比较麻烦,需要提供头文件.后者使用简便,可以直接导入,但是制作较为麻烦. 苹果在iOS8之前都不支持动态库framework方法,所以这里说的framework实质上都是静态库文件.如果有什么理解和整理错误的地方,欢迎大家指出问题所在. 这篇文章主要记录创建framework的方法.创建framework也有两

ios下gdb调试初探

一.调试平台搭建 1.GNU Debugger.首先安装ios下的gdb调试器,添加源:cydia.radare.org .搜索 GNU Debugger,安装之.(有些源的GDB好像不能用,这个测试没问题) 2.openSSH.这个应该都会装,没装过的参考,http://www.cnblogs.com/jailbreaker/p/4142609.html 3.adv-cmds.添加源:apt.saurik.com(这个应该是默认源里的一个). 二.附加步骤 1.首先在ios中打开你要调试的ap

iOS下OpenCV开发配置的两个常见问题(sign和link)

先上可以运行官方推荐的<OpenCV for iOS samples>的demo链接:https://github.com/Itseez/opencv_for_ios_book_samples.git 一.关于真机开发的限制: iOS下进行OpenCV开发,如果涉及到摄像头,需要使用真机运行,所以需要添加开发者账号,如果是免费的,每周可以运行7次(如果资金有限就多注册几个可用账号吧)general-add an account. 二.照着官方说明做却没成功 如果自己建立的项目,按照OpenCV

摘录 :iOS下音视频通信的实现-基于WebRTC

原文出自:http://www.cocoachina.com/ios/20170306/18837.html ,为了方便记忆,转载,如原作者不同意转载,邮件通知,立即删除 前言: WebRTC,名称源自网页实时通信(Web Real-Time Communication)的缩写,简而言之它是一个支持网页浏览器进行实时语音对话或视频对话的技术. 它为我们提供了视频会议的核心技术,包括音视频的采集.编解码.网络传输.显示等功能,并且还支持跨平台:windows,linux,mac,android,i