libuv官网只提供了os x的编译方法,没有IOS的。既然os x和ios的系统内核差不多,
并且编译工具都是xcode,那我们只要重新指定cpu架构,就可以编译出ios版的了。

1.安装python,官网上有os x版的:python.org/download,下载Python 3.x Mac Installer disk image
2.打开image,里边的安装文件是pythom.mpkg,双击是打不开的,要右键--打开方式--安装器。
3.安装后,打开终端,输入python,查看安装是否成功
4. 到libuv官网下载最新的源代码:https://github.com/joyent/libuv
5. 在终端进入libuv,并输入
$ mkdir -p build
$ git clone https://git.chromium.org/external/gyp.git build/gyp
没有git的话,要先安装git
6.$ ./gyp_uv.py -f xcode
生成xcode项目文件uv.xcodeproj。我在这一步出错了,错误来自subprocess.py,

我就改了一下gyp_uv.py的get_compiler_version()函数,简单的返回了编译器的版本信息。

$ xcodebuild -ARCHS="x86_64 i386" -project uv.xcodeproj \
-configuration Release -target All
生成os x 版本的库
7.理论上将-ARCHS改成"armv7 armv7s arm64"就可以生成ios版的了,但为了保险起见,还是打开
uv.xcodeproj,然后修改build setting里Architecture信息:
BaseSDK:Latest IOS
Architecture : armv7,armv7s,arm64
supported platform: IOS
valid architecture: arm64 armv7 armv7s
8.我们先以IOS Device 为目标编译,生成真机版的库,在Debug-iphoneos目录下
再以Simulater为目标编译,生成模拟器版的库,在Debug-iphonesimulater目录下
9为了以后方便使用,我们需要把以上两个库合成一个
lipo -create Debug-iphoneos/libuv.a Debug-iphonesimulator/libuv.a -output libuv.a
大功告成

libuv移植到ios的更多相关文章

  1. libuv移植到android

    编译环境是linux + ndk,你要先添加好NDK路径的环境变量,然后进入libuv目录执行以下两句完成编译. $ source ./android-configure $NDK gyp $ mak ...

  2. 将mvvmlight 移植到 ios step1

    https://github.com/wangrenzhu/SimpleIoc-For-Objective-c simple ios for objective-c 版 基本实现 全部功能  完美实现 ...

  3. tensorflow移植到ios

    1.git clone到本地 git clone https://github.com/tensorflow/tensorflowxcode 2.compile static library 安装xc ...

  4. Android IOS WebRTC 音视频开发总结(八)-- ios上移植webRTCDemo

    这篇文章主要介绍ios webrtcdemo的实现及相关注意事项,转载请说明出处(博客园RTC.Blacker) 前面很多人问webrtc android下有webrtcdemo,ios上怎么找不到, ...

  5. (翻译)开始iOS 7中自动布局教程(二)

    这篇教程的前半部分被翻译出来很久了,我也是通过这个教程学会的IOS自动布局.但是后半部分(即本篇)一直未有翻译,正好最近跳坑翻译,就寻来这篇教程,进行翻译.前半部分已经转载至本博客,后半部分即本篇.学 ...

  6. 解决protobuf不能直接在IOS上使用,利用protobuf-net在IOS上通讯

    ---------------------------------------------------------------------------------------------------- ...

  7. 用c/c++混合编程方式为ios/android实现一个自绘日期选择控件(一)

    本文为原创,如有转载,请注明出处:http://www.cnblogs.com/jackybu 前言 章节: 1.需求描述以及c/c++实现日期和月历的基本操作 2.ios实现自绘日期选择控件 3.a ...

  8. GitHub Android 最火开源项目Top20 GitHub 上的开源项目不胜枚举,越来越多的开源项目正在迁移到GitHub平台上。基于不要重复造轮子的原则,了解当下比较流行的Android与iOS开源项目很是必要。利用这些项目,有时能够让你达到事半功倍的效果。

    1. ActionBarSherlock(推荐) ActionBarSherlock应该算得上是GitHub上最火的Android开源项目了,它是一个独立的库,通过一个API和主题,开发者就可以很方便 ...

  9. 编写ios和android共用的c/c++库时 使用iconv的问题(转)

    因为在项目中需要同时维护ios和Android,不同的代码不利于开发的便捷和以后的维护,所以在最近的一个项目中,两种手机应用的通信部分打算使用c/c++库来统一编写,ios调用.a静态库,androi ...

随机推荐

  1. 网易客户端授权密码,errormsg='authentication failed (method LOGIN)' exitcode=EX_NOPERM

    zabbix群里一网友在安装msmtp+mutt测试发送邮件失败 配置文件如下: /usr/local/msmtp/etc/msmtprc account default host smtp..com ...

  2. java运行时内存分类

    主要有java栈(虚拟机栈), 堆 ,方法区. 线程私有: 栈: 每个方法执行的时候 都会同时创建一个栈桢 Stack Frame 用于存储  局部变量表, 操作数栈,动态链接, 方法出口等信息 线程 ...

  3. spring mvc 详细配置

    转自: http://www.cnblogs.com/superjt/p/3309255.html 现在主流的Web MVC框架除了Struts这个主力 外,其次就是Spring MVC了,因此这也是 ...

  4. python request 获取cookies value值的方法

    import requests res = requests.get(url) cookies = requests.utils.dict_from_cookiejar(res.cookies) pr ...

  5. Thunder团队第七周 - Scrum会议3

    Scrum会议3 小组名称:Thunder 项目名称:i阅app Scrum Master:李传康 工作照片: 参会成员: 王航:http://www.cnblogs.com/wangh013/ 李传 ...

  6. dRMT: Disaggregated Programmable Switching

    dRMT: Disaggregated Programmable Switching 2017年SIGCOMM会议上提出的新型可编程交换机架构,对2013年提出的RMT架构存在的问题进行了优化. 主要 ...

  7. Alpha冲刺——第十天

    Alpha第十天 听说 031502543 周龙荣(队长) 031502615 李家鹏 031502632 伍晨薇 031502637 张柽 031502639 郑秦 1.前言 任务分配是VV.ZQ. ...

  8. 在本地数据库目录或系统数据库目录中已经存在数据库别名""的解决办法

    在创建数据库时遇到数据库别名已存在的问题时,可以: 1. 首先用 db2 list database directory 命令看在系统数据库目录(System Database Directory)中 ...

  9. delphi self 的使用

    delphi之self 在使用delphi的对象技术的时候,经常会看到一个词汇:self,它到底指的是什么呢? 我们还要从对象与类的关系谈起. 类是对将要创建的对象的性质的描述,是一种文档.这很重要: ...

  10. 第199天:js---扩充内置对象功能总结

    一.数组 1.删除数组中指定索引的数据 /** 删除数组中指定索引的数据 **/ Array.prototype.deleteAt = function (index) { if (index < ...