误加all_load引起的程序报错
一.为什么要加-all_load
在64位的mac系统和iOS系统下,链接器有一个bug,会导致只包含有类别的静态库无法使用-ObjC标志来加载文件。解决方法是使用-all_load或者-force_load标志。作用是加载静态库中的所有文件。不同的是-all_load是加载所有库。-force_load是必须指定具体的文件。
二.按照上述理解,那如果使用-ObjC,就一定要使用-all_load了。因为-all_load是用来解决bug的。那什么还会报错?
而且如果.a静态库中只有分类没有类的话这样也不行。这时候就要在添加了-ObjC的基础上再添加一行-all_load.
-all_load是专门处理-ObjC的一个bug的,用了-ObjC后,如果类库中只有category,没有类的话,这样category还是加载不进来。这时候再加入-all_load就是告诉链接器强制把所有的目标文件都加载进来。但是这样在导入多个.a文件的时候如果都这样做,可能会导致你的目标程序大小增大,而且往往容易引起一些冲突,而这些冲突往往你无法解决(常常出现在你链接的各种库中)。
三.该如何解决这个问题
比较好的解决办法就是在build settings的linker flags中添加两个:
1.-force_load
2..a文件的路径(例如在上面SDK: $(SRCROOT)/lib/libbaidumapapi.a
by lm
误加all_load引起的程序报错的更多相关文章
- 运行编译后的程序报错  error while loading shared libraries: lib*.so: cannot open shared object file: No such file or directory
		运行编译后的程序报错 error while loading shared libraries: lib*.so: cannot open shared object file: No such f ... 
- WinDbg抓取程序报错dump文件的方法
		程序崩溃的两种主要现象: a. 程序在运行中的时候,突然弹出错误窗口,然后点错误窗口的确定时,程序直接关闭 例如: “应用程序错误” “C++错误之类的窗口” “程序无响应” “假死”等 此种崩溃特点 ... 
- ListView 加载数据时 触摸报错
		问题起因: 在做一个从sd卡中加载数据显示在ListView中,由于数据可能比较多,考虑到用户体验,就使用AsyncTask来异步加载,数据一条一条的添加至ListView中. 开始数据比较少的时候, ... 
- Window7中Eclipse运行MapReduce程序报错的问题
		按照文档:http://www.micmiu.com/bigdata/hadoop/hadoop2x-eclipse-mapreduce-demo/安装配置好Eclipse后,运行WordCount程 ... 
- eclipse运行hadoop程序报错:Connection refused: no further information
		eclipse运行hadoop程序报错:Connection refused: no further information log4j:WARN No appenders could be foun ... 
- WPF加载Winform窗体时 报错:子控件不能为顶级窗体
		一.wpf项目中引用WindowsFormsIntegration和System.Windows.Forms 二.Form1.Designer.cs 的 partial class Form1 设置为 ... 
- 记录微信小程序报错 Unexpected end of JSON input;at pages/flow/checkout page getOrderData function
		微信小程序报错 Unexpected end of JSON input;at pages/flow/checkout page getOrderData function 这个报错是在将数组对象通过 ... 
- 小程序-报错 xxx is not defined (已解决)
		小程序-报错 xxx is not defined (已解决) 问题情境: 这样一段代码,微信的小程序报错 is not defined 我 wxml 想这样调用 //wxml 代码 <view ... 
- debug运行java程序报错
		debug运行java程序报错 ERROR: transport error 202: connect failed: Connection timed out ERROR: JDWP Transpo ... 
随机推荐
- P3387 【模板】缩点
			题目背景 缩点+DP 题目描述 给定一个n个点m条边有向图,每个点有一个权值,求一条路径,使路径经过的点权值之和最大.你只需要求出这个权值和. 允许多次经过一条边或者一个点,但是,重复经过的点,权值只 ... 
- java流、文件以及IO
			读写文件 一个流被定义为一个数据序列.输入流用于从源读取数据,输出流用于向目标写数据. 输入流和输出流的类层次图. FileInputStream FileInputStream用于从文件中读取数据, ... 
- IOS开发---菜鸟学习之路--(十四)-将BASE64图片转换成Image
			本文基本全部都是代码 首先是.H文件 #import <Foundation/Foundation.h> @interface Base64AndImageHelp : NSObject ... 
- 【Palindrome Number】cpp
			题目: Determine whether an integer is a palindrome. Do this without extra space. click to show spoiler ... 
- phpmyadmin漏洞利用general_log和general_log_file拿权限
			我们如果知道phpmyadmin和网站的绝对路径后,可以利用into outfile写马拿到权限,但是吧有新版本的mysql和一些系统设置的问题这个函数受到了secure-file-priv这个的影响 ... 
- Struts2请求流程
			1. 一个请求在Struts2框架中的处理步骤: a) 客户端初始化一个指向Servlet容器的请求: b) 根据Web.xml配置,请求首先经过ActionContextCleanUp过滤器,其为可 ... 
- poj3083 Children of the Candy Corn   BFS&&DFS
			Children of the Candy Corn Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 11215 Acce ... 
- 生产环境下yum的配置
			介绍在局域网里面配置本地yum源环境: 在私有云的服务器上配置本地yum源 在局域网中有多台服务器,网段为192.168.10.0/24在其中一台10.11配置本地yum源,其他服务器中的baseur ... 
- springboot中的几种scope
			写在开始 技术点 接受方式 判读在线方式 接受数据 发送数据 敬上代码 入口函数 消息处理 单聊实现 传送门: 回到顶部 写在开始 上面一篇写了一篇使用WebSocket做客户端,然后服务端是sock ... 
- Nodejs项目网页图标的处理
			今天,我要说的是Nodejs中,关于网页图标的处理. 在讲解怎么处理之前,我们的了解一下什么是网页图标.网页图标就是我们网页打开之后,标签页的图标,比如下面这个 前面的小人就是我们博客园的网页图标. ... 
