xcode 编译静态库
这里以libcurl为例:
1.首先需要下载libcurlhttp://curl.haxx.se/download.html.解压...
2.打开mac上的terminal:切换到解压的libcurl的目录下...
3.编译配置:
exportCC=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-gcc-4.2.1
exportCFLAGS="-isysroot/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk"
exportLDFLAGS="-isysroot/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk-Wl,-syslibroot/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk"
exportCPP=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/cpp
./configure--disable-shared--without-ssl--without-libssh2--without-ca-bundle--without-ldap--disable-ldap--host=arm-apple-darwin10
以上export的版本为本机安装的xcodesdk版本和gcc版本....使用时改为自己机子安装的...路径也可能需要变...
通过cd到以上路径能找到内容,即可。
配置结束后可以看到:Protoclols:............TELNETTFTP
4.编译libcurl
(1)打开Xcode选择:File->NewProject->iOS->Library->CocoaTouchStaticLibrary
添加文件:Add->ExistingFiles(选择curl中"src"文件夹),Add->ExistingFiles(选择curl中"lib"文件夹)
(2)选中工程,打开“build”选项,查找Oher_c_flags设置下面信息
-DHAVE_CONFIG_H-I/ca/dev/code/lib/curl/curl-latest/include-I/ca/dev/code/lib/curl/curl-latest/lib
注:/ca/dev/code/lib/curl/curl-latest就是刚才解压curl源代码的路径,在本机中是-DHAVE_CONFIG_H-I/Users/rosa/curl-7.21.7/include-I/Users/rosa/curl-7.21.7/lib
5.利用lipo制作通用版本静态库
由于libcurl在device和simulator上要选择不同的版本,因此在实际使用的时候切换起来很不方便,可以在终端上使用macos自带的lipo工具制作为通用版本,通用版本的大小其实就是两个版本加起来的和。命令行如下:
lipo-create/b-debug/libcurl.a/a-debug/libcurl.a-outputlibcurl-debug.a