Xcode:关于Other Linker Flags

来源:互联网 发布:威少数据刷子 编辑:程序博客网 时间:2024/05/19 05:39

原文地址:http://alloc.sinaapp.com/wp/?p=272

一、关于Other Linker Flags

xcode中,在“Targets”选项下有Other Linker Flags选项,在这里可以填写xcode链接器的参数,如:-ObjC、-all_load、-force_load等。

二、xcode链接器

xcode采用的链接器为ld–GNU,ld是GNU工具链中的一个软件,主要用于将obj文件连接成可执行文件。同时你能使用自己的脚本来控制ld的行为,这是你可以通过-T选项选择你的脚本而不是默认的。可以通过

1
[objc] view plaincopy
  1. man ld  

了解更多。

三、主要参数

这里要说的主要参数是ld工具的参数,也是在Other Linker Flags里常用到的参数。

1.-ObjC

当使用ObjC写的静态类别库(Objective-C static library that contains categories),在程序编译链接时,如果不在Other Linker Flags中填写-ObjC,往往会报错,出现”selector not recognized”。博主无力,原因看不太懂。具体原因请查阅xcode帮助文档。

-ObjC的作用是加载用ObjC实现的类、类别等所有成员。

2.-all_load

强制链接器加载所有包含非ObjC的目标文档。

3. -force_load

加载指定的目标文档。-force_load后面需要文档路径,如:

-force_load $(TARGET_BUILD_DIR)/libB.a

1
[objc] view plaincopy
  1. <span style="color:rgb(0,34,0)">-</span>force_load $<span style="color:rgb(0,34,0)">(</span>TARGET_BUILD_DIR<span style="color:rgb(0,34,0)">)</span><span style="color:rgb(0,34,0)">/</span>libB.a  
-force_load $(TARGET_BUILD_DIR)/libB.a
0 0
原创粉丝点击