libcurl.a静态库,需要配合ssl,crypto 一起使用,否则在编译的时候,会报很多未识别的错误
一般情况下,可以直接通过控制 libcurl.a的编译选项,取消不需要的库,推荐:
./configure --without-ssl --disable-ldap --without-nss --without-libssh2 --enable-static
使用备注:
项目中用的异步无阻塞,其中碰到的坑大体记录一下,
①收到回调的curl_easy,不能直接给释放掉,需要先加到队列中,一起释放,先从multi中移除easy句柄,调用curl_multi_remove_handle
然后在释放easy空间,调用curl_easy_cleanup
②在multi处理一些句柄的时候,在添加新的easy进来,后边添加进来的处理时候会有错误,碰到的错误是,post发送的头被截断了,不完整
解决方法,使用最新的libcurl库,就正常了
新版本的官方介绍文档中,明确写了,有正在运行的easy句柄,也可以继续加入新的句柄进来,互不影响。