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
大功告成
最新文章
- dbca:Exception in thread ";main"; java.lang.UnsatisfiedLinkError: get
- Subsets 子集系列问题 leetcode
- STL中算法
- JAVA中复写equals方法
- jsp中利用checkbox进行批量删除
- ASP.NET Web API 通过参数控制返回类型(JSON|XML)
- 安卓(android)建立项目时失败,出现Android Manifest.xml file missing几种解决方法?(总结中)
- Qt5如何设置静态编译,解决生成的可执行文件打开出错问题
- (七)Android中AIDL的应用与理解
- linux常用命令 grep命令
- 在 CentOS6 上安装 Zabbix3.0 Agent 并开启客户端自动注册
- Spring3.2+mybatis3.2+Struts2.3整合
- liunx系统虚拟机下安装tomcat9以及访问tomcat案例
- 4.easyloader.js文件的作用
- 第三百六十六节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的bool组合查询
- Mybatis数据库连接报错:对实体 ";characterEncoding"; 的引用必须以 ';' 分隔符结尾
- 杂项:Office Visio
- Security1:登录和用户
- Hive笔记之collect_list/collect_set(列转行)
- ASPX 后台调用前台Js