MacOS上编译Poco库的IOS静态库版本

MacOS上编译PocoC++的IOS版本静态库的操作步骤

Poco版本:poco-1.10.1-all.tar.gz

在iOS开发中主要有iPhone模拟器和iPhone真机以及运行Xcode本身的架构,分别对应的架构为:

1、 模拟器:iPhone5 及以下的模拟器版本为 i386,iPhone5以上的模拟器架构是x86_64
2、 真机: armv7 , armv7s, arm64
3、OSX 的架构是x86_64

准备工作

> gunzip poco-1.10.1-all.tar.gz
> tar -xf poco-1.10.1-all.tar
> cd poco-1.10.1-all

在poco-1.10.1-all/build/config/目录中找到iphone文件,打开进行编辑,并修改以下几处地方:

IPHONE_SDK_ROOT修改为
IPHONE_SDK_ROOT ?= /Applications/Xcode.app/Contents/Developer/Platforms/$(IPHONE_SDK).platform/Developer/SDKs
TOOL_PREFIX修改为
TOOL_PREFIX ?=/Applications/Xcode.app/Contents/Developer/Platforms/$(IPHONE_SDK).platform/Developer/usr/bin
CC和CXX修改为
CC  =/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
CXX =/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++

开始编译

切换到poco-1.10.1-all目录

真机配置
 ./configure --config=iPhone --no-tests --no-samples --omit=Crypto,NetSSL_OpenSSL,Data/ODBC,Data/MySQL
模拟器配置
./configure --config=iPhoneSimulator --no-tests --no-samples --omit=Crypto,NetSSL_OpenSSL,Data/ODBC,Data/MySQL
编译
armv7
make IPHONE_SDK_VERSION_MIN=5.0 POCO_TARGET_OSARCH=armv7 -s -j4
armv7s
make IPHONE_SDK_VERSION_MIN=5.0 POCO_TARGET_OSARCH=armv7s -s -j4
arm64
make IPHONE_SDK_VERSION_MIN=5.0 POCO_TARGET_OSARCH=arm64 -s -j4
i386
make IPHONE_SDK_VERSION_MIN=5.0 POCO_TARGET_OSARCH=i386 -s -j4
x86_64
make IPHONE_SDK_VERSION_MIN=5.0 POCO_TARGET_OSARCH=x86_64 -s -j4
lipo

为了使用方便,我们可以制作通用库文件,使用Xcode的lipo命令:

lipo -create 需要合并的文件 -output 生成的目标文件
eg.
lipo -create iPhoneOS/armv7/libPocoFoundation.a iPhoneSimulator/x86_64/armv7/libPocoFoundation.a -output libPocoFoundation.a

查看静态库支持的架构

lipo -info xxxx.a
备注
--config   配置编译脚本,由于Xcode的C和C++编译器是clang和clang++,因此选择iPhone-clang-libc++脚本
-no-tests和--no-samples   表示不编译tests文件和samples文件
--omit 在这里面配置自己不需要的库文件
--include-path  用来配置依赖信息,在这里,由于Crypto和NetSSL_OpenSSL模块依赖于openSSL,因此需要配置openSSL的路径
--static  表示建立静态库文件
--prefix   配置编译好的库文件的存放位置
IPHONE_SDK_VERSION_MIN  设置支持的iPhone的SDK的最低版本
POCO_TARGET_OSARCH          设置平台的架构信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值