libuv移植到ios
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的更多相关文章
- libuv移植到android
编译环境是linux + ndk,你要先添加好NDK路径的环境变量,然后进入libuv目录执行以下两句完成编译. $ source ./android-configure $NDK gyp $ mak ...
- 将mvvmlight 移植到 ios step1
https://github.com/wangrenzhu/SimpleIoc-For-Objective-c simple ios for objective-c 版 基本实现 全部功能 完美实现 ...
- tensorflow移植到ios
1.git clone到本地 git clone https://github.com/tensorflow/tensorflowxcode 2.compile static library 安装xc ...
- Android IOS WebRTC 音视频开发总结(八)-- ios上移植webRTCDemo
这篇文章主要介绍ios webrtcdemo的实现及相关注意事项,转载请说明出处(博客园RTC.Blacker) 前面很多人问webrtc android下有webrtcdemo,ios上怎么找不到, ...
- (翻译)开始iOS 7中自动布局教程(二)
这篇教程的前半部分被翻译出来很久了,我也是通过这个教程学会的IOS自动布局.但是后半部分(即本篇)一直未有翻译,正好最近跳坑翻译,就寻来这篇教程,进行翻译.前半部分已经转载至本博客,后半部分即本篇.学 ...
- 解决protobuf不能直接在IOS上使用,利用protobuf-net在IOS上通讯
---------------------------------------------------------------------------------------------------- ...
- 用c/c++混合编程方式为ios/android实现一个自绘日期选择控件(一)
本文为原创,如有转载,请注明出处:http://www.cnblogs.com/jackybu 前言 章节: 1.需求描述以及c/c++实现日期和月历的基本操作 2.ios实现自绘日期选择控件 3.a ...
- GitHub Android 最火开源项目Top20 GitHub 上的开源项目不胜枚举,越来越多的开源项目正在迁移到GitHub平台上。基于不要重复造轮子的原则,了解当下比较流行的Android与iOS开源项目很是必要。利用这些项目,有时能够让你达到事半功倍的效果。
1. ActionBarSherlock(推荐) ActionBarSherlock应该算得上是GitHub上最火的Android开源项目了,它是一个独立的库,通过一个API和主题,开发者就可以很方便 ...
- 编写ios和android共用的c/c++库时 使用iconv的问题(转)
因为在项目中需要同时维护ios和Android,不同的代码不利于开发的便捷和以后的维护,所以在最近的一个项目中,两种手机应用的通信部分打算使用c/c++库来统一编写,ios调用.a静态库,androi ...
随机推荐
- 多源最短路——Floyd算法
Floyd算法 问题的提出:已知一个有向网(或者无向网),对每一对定点vi!=vj,要求求出vi与vj之间的最短路径和最短路径的长度. 解决该问题有以下两种方法: (1)轮流以每一个定点为源点,重复执 ...
- Planning The Expedition(暴力枚举+map迭代器)
Description Natasha is planning an expedition to Mars for nn people. One of the important tasks is t ...
- 王者荣耀交流协会 - 第7次Scrum会议(第三周)
1.例会照片 照片由王超(本人)拍摄,组内成员刘耀泽,高远博,王磊,王玉玲,王超,任思佳,袁玥全部到齐. 2.时间跨度: 2017年11月2日 17:00 — 17:20 ,总计20分钟. 3.地 点 ...
- Alpha发布用户使用报告【欢迎来怼】
目录 用户统计表 部分用户评论截图 用户统计图 总结 一.用户统计表 目前,博客园安卓版的用户已达到11位.为了采集到更加客观公正的用户评价,并没有将团队内部人员的评价统计进来.同时,为了更好地保护用 ...
- Thunder-Beta发布中间产物-2017秋-软件工程第十次作业
Thunder-Beta发布中间产物(WBS&PSP) WBS: 分解方式:按照「爱阅」阅读器的实施过程分解 使用工具:visio 2013 PSP: PSP 实际时间 Planning 计划 ...
- 【Leetcode】179. Largest Number
Given a list of non negative integers, arrange them such that they form the largest number. For exam ...
- 【beta】Scrum站立会议第5次....11.7
小组名称:nice! 组长:李权 成员:于淼 刘芳芳韩媛媛 宫丽君 项目内容:约跑app(约吧) 时间:2016.11.7 12:00——12:30 地点:传媒西楼220室 本次对beta阶段的 ...
- CentOS6.5 重启网络报错:Bringing up interface eth0: Error: Connection activation failed: Device not managed by NetworkManager or unavailable
CentOS6.5 重启网络报错: Bringing up interface eth0: Error: Connection activation failed: Device not manage ...
- pixi.js tools
pixi群 881784250 Awesome pixi.js tools A list of useful libs/resources/tools for renowned html5 rende ...
- web端调百度地图页面
在点击进入地图的入口(下面数据是vue渲染的数据) <a class="navigation" v-if="merchant.longitude && ...