设为首页 收藏本站
查看: 1065|回复: 0

[经验分享] Mac OS X环境下源代码编译libcurl

[复制链接]
发表于 2015-12-30 09:59:58 | 显示全部楼层 |阅读模式
  转载请注明出处
  在进行libcurl的源码编译之中,参照官方文档和google搜索出来的总是编译失败,索性根据提示的失败一步一步查出原因,说白了,就是OS X缺少gnu的几个工具,还需要初始化config才行,libcurl官方根本没提及,ok,那就自己搞定。
  首先,需要安装autoconf和automake工具
1)安装m4

http://www.gnu.org/software/m4/

tar -xzvf m4-1.4.17.tar.gz

cd m4-1.4.17

./configure --prefix=/usr/local

make

sudo make install


2)安装autoconf

http://www.gnu.org/software/autoconf/

tar -xzvf autoconf-2.69.tar.gz

cd autoconf-2.69

./configure --prefix=/usr/local

make

sudo make install


3)安装automake

http://www.gnu.org/software/automake/

tar xzvf automake-1.14.tar.gz

cd automake-1.14

./configure --prefix=/usr/local

make

sudo make install


4)安装libtool

http://www.gnu.org/software/libtool/

tar xzvf libtool-2.4.2.tar.gz

cd libtool-2.4.2

./configure --prefix=/usr/local

make

sudo make install

  
  5)下载libcurl源码,运行libcurl初始化脚本
  git clone https://github.com/bagder/curl.git
  cd curl
  ./buildconf
  
  6)编译simulator版本,首先需要设置诸多编译环境,本人mac环境是xcode 6.4, sdk是8.4为例
export IPHONEOS_DEPLOYMENT_TARGET="8.4"

export CC="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang"

export CFLAGS="-arch i386 -pipe -Os -gdwarf-2 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.4.sdk"

export LDFLAGS="-arch i386 –isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.4.sdk"

./configure --disable-shared --enable-static --host="i386-apple-darwin" --prefix=/usr/local --with-darwinssl --enable-threaded-resolver

make -j `sysctl -n hw.logicalcpu_max

cp lib/.libs/libcurl.a ~/Desktop/libcurl-i386.a

  make clean
  
  7)编译arm版本稍有不同
  export IPHONEOS_DEPLOYMENT_TARGET="8.4"
  $ export CC="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang"
  $ export CFLAGS="-arch [ARCH] -pipe -Os -gdwarf-2 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.4.sdk"
  $ export LDFLAGS="-arch [ARCH] -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.4.sdk"
  $ ./configure --disable-shared --enable-static --host="[ARCH]-apple-darwin" --prefix=/usr/local --with-darwinssl --enable-threaded-resolver
  $ make -j `sysctl -n hw.logicalcpu_max`
cp lib/.libs/libcurl.a ~/Desktop/libcurl-[ARCH].a

  make clean
  此处特别注意[ARCH]代表armv7,armvs7和arm64,但是[ARCH]-apple-darwin这里却不存在arm64-apple-darwin,需要改成arm-apple-darwin即可config通过。
  
  8)合并libcurl
  cd ~/Desktop
  $ lipo -create -output libcurl.a libcurl*

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-158216-1-1.html 上篇帖子: [入门]在Mac OS X下使用和配置Android Studio 下篇帖子: VMware Workstation9安装Mac OS X10.9系统
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表