android版本vqmon移植IOS版
IOS交叉编译
1.android版本 vqmon已经正常运行,现需要开放IOS版本,作移植工作。
2. 注意事项: 1)ROOT权限,IOS必须越狱。
2)依赖库:pcap, ffmpeg,libes, libxml2, libz,
3) iphone手机越狱,远程ssh登录
3.开放环境:
xcode:6.1.1 mac-mini: 10.1.9
clang: Apple LLVM version 5.0 (clang-500.2.76) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin13.3.0
Thread model: posix
SDK:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs
iPhoneOS6.1.sdk
iPhoneOS7.0.sdk
iPhoneOS8.1.sdk
选用8.1
4. makefile编写
IOS_BASE_SDK=8.1
IOS_DEPLOY_TGT=7.1
DEVROOT = $(shell xcode-select -p)/Platforms/iPhoneOS.platform/Developer
SDKROOT = $(DEVROOT)/SDKs/iPhoneOS$(IOS_BASE_SDK).sdk
CC = clang -isysroot ${SDKROOT}
AR = $(DEVROOT)/usr/bin/ar
ARCH = -arch armv7 -arch armv7s -arch arm64 -mios-version-min=7.0
CFLAGS := -g -O0 -I../include XML_INCLUDE=-I/usr/include/libxml2
XML_LIB=-L/usr/lib -lxml2 CFLAGS += -Wall -g -O2 -I ../include -I ../src -I"." -I"/Users/chulk/iosVqmon/data/dependencies/include" -D_GNU_SOURCE
CFLAGS+=$(XML_INCLUDE) LDFLAGS = -lm -lz
LDFLAGS +=-L/usr/lib/
LDFLAGS += $(XML_LIB)
LDFLAGS += ../bin/libmt.a
LDFLAGS += ../bin/libes.a
LDFLAGS += ../bin/libpcap.a
LDFLAGS += ../bin/libffmpeg.a STRIP = strip
RM = /bin/rm -f TARGET = qos all: $(TARGET) SOURCE = tcp.c \
dissector.c \
hash.c \
user_pcap.c \
util.c \
interface.c\
main.c OBJS = $(SOURCE:%.c=obj/%.o) $(TARGET): $(OBJS)
$(CC) $(ARCH) -g $(OBJS) $(LDFLAGS) -o $@
cp -f $(TARGET) ../bin obj/%.o:%.c
@mkdir -p obj
$(CC) $(ARCH) $(CFLAGS) -c $< -o $@ clean:
rm -rf obj $(OBJS) $(TARGET)
$(shell xcode-select -p) 目录是:/Applications/Xcode.app/Contents/Developer
-isysroot ${SDKROOT} 将ROOT目录切换到${SDKROOT} ,即/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk。后续操作/usr/lib,/usr/include都是相对此目录。 在/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/目录下存在多个iPhoneOs的多个版本iPhoneOS6.1.sdk,iPhoneOS7.0.sdk,iPhoneOS8.1.sdk等不同sdk版本。 /Applications/Xcode.app/Contents/Developer/Platforms 下区分不同平台,MacOSX.platform,iPhoneOS.platform,iPhoneSimulator.platform.此处选择iPhoneOS.platform开放平台。 /usr/lib下存在libz.dylib, libxml2.dylib ,libm.dylib 动态库,故可直接调用。pcap, ffmpeg,libes得重新编译! ARCH = -arch armv7 -arch armv7s -arch arm64 -mios-version-min=7.0 -arch指定支持的cpu架构。 -mios-version-min=7.0表示只支持7.0(含)以上的版本系统(iPhoneOS)。
5.编译pcap
直接运行build-libpcap.sh 生成iPhoneOS版本。 脚本需要修改版本。
https://github.com/chrisballinger/openvpn-server-ios/blob/master/build-libpcap.sh 6.编译 ffmpeg, es 7注意: make期间出现过 "Unsupported architecture" 错误,是因为pcap的头文件路径不对,指到了系统的其他目录,不匹配,应该指到生成的交叉编译版本。
android版本vqmon移植IOS版的更多相关文章
- Cocos2d-x 3.4版本 新建项目 IOS版
打开终端 cd进入cocos2d-x-3.0/tools/cocos2d-console/bin 然后执行下面命令 ./cocos.py new testHuoFei -p com.huofei.ap ...
- cocos2dx android版本移植时的Error format not a string literal and no format arguments解决方案
原文地址 : http://www.cnblogs.com/hhuang2012/p/3336911.html cocos2dx android版本移植时的Error format not a str ...
- 基于MT6752/32平台 Android L版本驱动移植步骤
基于MT6752/32平台 Android L版本驱动移植步骤 根据MK官网所述,在Android L 版本上Turnkey ABS 架构将会phase out,而Mediatek Turnkey架构 ...
- 通过微信Android和iOS版,看两大系统的差异
由于设计师或者产品经理使用的移动设备大部分是iPhone,所以在做设计时,容易忽略Android和iOS的差异,按照自己的使用习惯进行设计,导致大部分设计师或产品经理做出的设计都是基于iOS规范或习惯 ...
- 高仿美团iOS版,版本5.7
高仿美团iOS版,版本:5.7 iOS技术交流群:112365317 github链接:https://github.com/lookingstars/meituan 假设你认为不错.欢迎star 哦 ...
- 最简单的基于FFmpeg的移动端样例:Android 视频解码器-单个库版
===================================================== 最简单的基于FFmpeg的移动端样例系列文章列表: 最简单的基于FFmpeg的移动端样例:A ...
- 微信聊天记录查看器(程序+源码) - iOS版
本文版权归cxun所有,如有转载请注明出处与本文链接,谢谢!原文地址:http://www.cnblogs.com/cxun/p/4338643.html Updates [2016.10.14]感谢 ...
- Android版本信息及与Linux和Java的关系
1.Android与Linux和Java的关系 Android严格来说,不能算是Linux,Android是一个统称,具体来说,是Google用了Linux的一个核心,用这个核心来管理进程,控制硬件. ...
- 微信团队原创分享:iOS版微信的内存监控系统技术实践
本文来自微信开发团队yangyang的技术分享. 一.前言 FOOM(Foreground Out Of Memory),是指App在前台因消耗内存过多引起系统强杀.对用户而言,表现跟crash一样. ...
随机推荐
- Python基础学习之变量赋值
1.赋值操作符 Python语言中,等号(=)是主要的赋值操作符: >>> aInt=-100 >>> aString='this is a string' > ...
- 用AutoHotkey一键打开、激活、或隐藏Chrome(或其他软件)
热键的效果: 1.Chrome没打开时,打开Chrome 2.Chrome已打开,未激活时,则激活Chrome 3.Chrome已激活,则隐藏Chrome 本来这种功能对AutoHotkey来说非常简 ...
- ARM实验3 ——串口实验
uart串口实验 实验内容: 编写UART模块程序,通过串口将信息打印到终端. 实验目的: 熟悉开发环境的使用. 掌握exynos4412处理器的UART功能. 实验平台: FS4412开发板,ecl ...
- CToolTipCtrl使用详细解说
很多的界面设计都需要有Tip提示,下面描述一下Tip的简单使用方法: 1. 首先要New一个CToolTipCtrl的对象m_pContentTip 2. 调用CToolTipCtrl的create函 ...
- php一个类引用另一个类的方法的写法
default.php: <?php namespace SiteInfo{ class Site{ var $url; var $title; function setUrl($par){ $ ...
- ELF文件格式与进程地址空间的联系
http://blog.csdn.net/q_l_s/article/details/52597330 三.分析在fork产生新进程中ELF文件格式与进程地址空间的联系 1.进程的虚拟地址空间 每个程 ...
- Codeblocks的常用Debug快捷键
1.在鼠标处开始Debug,F4. 2.逐步调试,F7. 3.进入函数,shift+F7. 4.结束Debug,shift+F8.
- 20145238-荆玉茗 《Java程序设计》第五次实验报告
实验五 Java网络编程及安全 一.实验内容 1.运行下载的TCP代码,结对进行,一人服务器,一人客户端: 2.利用加解密代码包,编译运行代码,一人加密,一人解密: 3.集成代码,一人加密后通过TCP ...
- Rich feature hierarchies for accurate object detection and semantic segmentation(RCNN)
https://zhuanlan.zhihu.com/p/23006190?refer=xiaoleimlnote http://blog.csdn.net/bea_tree/article/deta ...
- 阅读list
最近感觉效率不高,其实有很多事情要做的,读书的速度也慢下来了,要抓紧时间的了. 继续读deep learning 一书的part II. 读完jifeng dai的几篇文章,去年欠下的债务啊.其中包括 ...