前往curl官网下载源代码
http://curl.haxx.se/download.html
本例版本为curl-7.23.1.tar.gz
配置curl和编译
./configure --host=i386-apple-darwin CFLAGS="-isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk" CC="i686-apple-darwin11-llvm-gcc-4.2"
make
sudo make install
其中–host代表平台,例子为iOS模拟器,如果是device真机把i386-apple-darwin改为arm-apple-darwin。
CFLAGS为C编译时的参数,-isysroot指向你基于的SDK,例子为iOS模拟器,如果是device真机把iPhoneSimulator改为iPhoneOS。
CC为编译器
sudo make install时需要键入管理员密码,之后就可以在/usr/local/lib/找到需要的静态库libcurl.a
至此编译完成。
由于模拟器和设备的静态库文件是分开的,如果觉得调试和发布频繁切换很麻烦,可以用自带命令把两个库合到一个文件:
lipo -create /ipos/libcurl.a /ip-sim/libcurl.a -output libcurl-all.a
路径改正确就OK了。
简单说下调用,开XCode新建iPhone程序,把生成的libcurl.a拖到项目的Frameworks里面。
选中项目,修改Build Settings–>USER_HEADER_SEARCH_PATHS
加入下载的源码里面目录下include/curl文件夹
然后代码里加入:
#import "curl.h"
curl_global_init(CURL_GLOBAL_ALL);
CURL *curl; //定义CURL类型的指针
CURLcode res; //定义CURLcode类型的变量
curl = curl_easy_init(); //初始化一个CURL类型的指针
if(curl!=NULL)
{
//设置curl选项. 其中CURLOPT_URL是让用户指定url. argv[1]中存放的命令行传进来的网址
curl_easy_setopt(curl, CURLOPT_URL, "http://google.com");
//调用curl_easy_perform 执行我们的设置.并进行相关的操作. 在这里只在屏幕上显示出来.
res = curl_easy_perform(curl);
//清除curl操作.
curl_easy_cleanup(curl);
}
Ctrl+R开始调试,看到控制台出现google.com的信息,Over。
PS,如果报错,在Frameworks加入iOS的库libz.dylib
近期评论