每个操作系统都有对应的规则和标准,比如ios就是,在ios上,是无法使用动态链接库的,而只能使用静态链接库。
当然,ios上的静态链接库也是.a后缀名的文件,同时,虽然苹果的产品很特立独行很有个性,但是在底层技术上,它已经离不开GCC等一系列的开源技术了。
从Mac.OS.X历史上也可以知道,其实现在Mac.OS是给予UNIX+NextSetp+GUN开源技术的一系列混杂体,当然这是题外话,用这些技术,苹果做出了优秀的产品。
既然是GCC,那编译ios的库的相关参数就一定是遵循一定规则的,但是由于xcode的存在,似乎很多国内开发者并不是太清楚这些。作为一个比较杂的技术人员,对这些都接触了一点,并且接触到了ios-static-libraries项目,给了非常大的帮助。
其实这是google code上的一个很小的项目(http://code.google.com/p/ios-static-libraries/),主要是一些bash shell scripts(Mac.OS.X使用的是bash),可以很方便地直接下载开源库的源代码,而直接编译成ios设备及ios模拟器可以使用的静态链接库。
目前这个项目里提供了OpenSSL,Cyrus SASL,libEtPan,zlib,libssh2,cURL这几个库的编译脚本,事实上根据这些脚本,可以借鉴学习,就能方便地编译出自己需要的开 源库。同时,仔细研究里面编译参数,可以对apple开发环境下的gcc工具链有更好的了解。
ps:http://blog.cnnbboy.com/?p=501 |
|