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 ...
随机推荐
- git实验
四.实例应用 应用1.现有项目移植到git代管 进入目标项目,进行git初始化: 初始化:git init 修改config:git config -- local user.name '名称' 和 ...
- centos下部署jenkins
本文摘抄自:https://www.cnblogs.com/edward2013/p/5284503.html ,请支持原版! 1. 安装JDK 1 yum -y install java 2.安装 ...
- 原生js和jquey获取窗口宽高,滚动条,鼠标位置总结
JQuery获取浏览器窗口的可视区域高度和宽度,滚动条高度 alert($(window).height()); //浏览器时下窗口可视区域高度 alert($(document).height( ...
- <<世界是数字的>>读书笔记
<世界是数字的>这本书是大学职业规划老师介绍个我读的,从着本中我学到了很多. 第一章,计算机里有什么.这个问题可以从两方面来看:逻辑上或者说功能上的组成,即每一部分是什么.做什么.怎样做. ...
- 不要USB数据线调试Android开发
不管是过去Eclipse还是现在的Android Studio开发Android,运行或者调试时都会利用USB数据线连接电脑和手机,特别是当现在的手机只有一个Type-c接口,意味着,插上后,啥也干不 ...
- selenium Object Page 设计模式理解及实现!
Page Object模式是Selenium中的一种测试设计模式,主要是将每一个页面设计为一个Class,其中包含页面中需要测试的元素(按钮,输入框,标题 等),这样在Selenium测试页面中可以通 ...
- C# 委托和事件高级进阶
本篇文章主要采用理论和代码实例相结合方式来论述委托和事件,涉及到一些边界技术,如软件架构的OCP原则(开-闭原则), 软件架构解耦,设计模式(Sender-Order)和事件驱动模型,有一定难度和深度 ...
- 【C++】C++ static关键字详解
static的作用 1.隐藏 当我们编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性,其他的源文件也能访问.如,我们有源文件source1.cpp定义了一个全局变量i和函数Fu ...
- js 变量定义的注意点
- BZOJ 4034 树上操作(树的欧拉序列+线段树)
刷个清新的数据结构题爽一爽? 题意: 有一棵点数为 N 的树,以点 1 为根,且树点有边权.然后有 M 个 操作,分为三种: 操作 1 :把某个节点 x 的点权增加 a . 操作 2 :把某个节点 x ...