零: 前言
一直没搞懂这三个之间的区别.
动态库的链接.png一: target depnedencies(编译前)
这个选项只是告诉工程在运行的时候先去编译这里导入的库.
二:Link Binary With Libraries(编译时期)
Link Binary With Libraries里添加的即你的某个project需要链接的库.
这里添加的库都会被编译到工程的最终包里.
只有在这里添加了.app才能找到该库的.o文件
三.Embedded Binaries(运行时)
这个是告诉工程在app运行时去哪些库里找实现方法.
这个选项只有在可运行的project里有.即你工程的总壳(有main.m文件的project)
不可运行(静.动态库 >> 没有main.m文件)的project是没有这个选项的.因为他们不可能进入运行时状态.
四.总结
1.当你导入一个库时.target dependencies和link binary with libraries两个选项都必须设置.
只有可运行的project里需要设置embedded binaries.
2.所以当你引入一个静态库的时候.只需要设置Link binary with libraries选项就可以了.因为他不需要编译.
3.当你embedded 一个库时xcode会自动帮你设置target dependencies 和 link binary with libraries
网友评论