我是靠谱客的博主 冷酷金针菇,最近开发中收集的这篇文章主要介绍Xcode 下的Other linker flags 配置,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Targets build setting 下的有一个选项是Other linker flags 的设置,用来填写Xcode 的连接器参数 :

1.
-ObjC
2.
-all_load
3.
-force_load

Xcode 链接器参数

  • -ObjC: 加入这个参数后,连接器就会把静态库中德Objective-C类和分类都加在到最后的可执行文件中

  • -all_load 会让连接器把所有找到的目标文件都加载到可执行文件中,但是不要随便使用这个参数,假如使用了不止一个静态库文件,然后又使用了这个参数,那么你很可能会遇到 duplicate symbol 错误,因为不同的库文件里面有可能会有相同的目标文件,所以建议在遇到-ObjC失效的情况下使用force_load 参数

  • 所做的事情和-all_load 是一样的,但是-force_load 需要制定要进行全部加载的库文件的路径,这样你就只是完全加载了一个库文件,不影响其余库文件的按需加载。

从C代码到可执行文件经历的步骤是:
源代码 > 预处理器 > 编译器 > 汇编器 > 机器码 > 链接器 > 可执行文件
在最后一步需要把.o文件和C语言运行库链接起来,这时候需要用到ld命令。源文件经过一系列处理以后,会生成对应的.obj文件,然后一个项目必然会有许多.obj文件,并且这些文件之间会有各种各样的联系,例如函数调用。链接器做的事就是把这些目标文件和所用的一些库链接在一起形成一个完整的可执行文件。



作者:Raybon_lee
链接:https://www.jianshu.com/p/158116412ce5
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

最后

以上就是冷酷金针菇为你收集整理的Xcode 下的Other linker flags 配置的全部内容,希望文章能够帮你解决Xcode 下的Other linker flags 配置所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部