linux编译poco静态库,Xcode 编译poco c++静态库

什么是poco c++

1.一系列C++类库,类似Java类库,.Net框架,Apple的Cocoa;

2.侧重于互联网时代的网络应用程序

3.使用高效的,现代的标准ANSI/ISO C++,并基于STL

4.高可移值性,并可在多个平台下可用

5.开源,并使用Boost Software License发布

6.不管是否商用,都完全免费

编译供iOS使用的静态库

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

1.模拟器:iPhone5 及以下的模拟器版本为 i386,iPhone5以上的模拟器架构是x86_64

2.真机: armv7 , armv7s, arm64

3.OSX 的架构是x86_64

编译器的选择:

设置Xcode自带的编译器,方法: 在下载的源码中找到poco-1.7.8-all/build/config/iPhone,用文本编辑器或者Xcode打开,将原来的CC与CXX修改为Xcode自带的编译器的路径:

CC =/Applications/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang

CXX =/Applications/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++

打开终端,进入源码文件,针对各种架构静态库的编译:

1.armv7

./configure --config=iPhone-clang-libc++ --no-tests --no-samples --omit=Data/MySQL,Data/ODBC --static --include-path=/usr/local/openssl/include --prefix=/Users/"用户名"/Desktop/Xcode-poco/armv7

make IPHONE_SDK_VERSION_MIN=5.0 POCO_TARGET_OSARCH=armv7 install

2.armv7s

./configure --config=iPhone-clang-libc++ --no-tests --no-samples --omit=Data/MySQL,Data/ODBC --static --include-path=/usr/local/openssl/include --prefix=/Users/"用户名"/Desktop/Xcode-poco/armv7s

make IPHONE_SDK_VERSION_MIN=5.0 POCO_TARGET_OSARCH=armv7s install

3.arm64

./configure --config=iPhone-clang-libc++ --no-tests --no-samples --omit=Data/MySQL,Data/ODBC --static --include-path=/usr/local/openssl/include --prefix=/Users/"用户名"/Desktop/Xcode-poco/arm64

make IPHONE_SDK_VERSION_MIN=5.0 POCO_TARGET_OSARCH=armv64 install

4.i386

./configure --config=iPhoneSimulator-clang-libc++ --no-tests --no-samples --omit=Data/MySQL,Data/ODBC --static --include-path=/usr/local/openssl/include --prefix=/Users/"用户名"/Desktop/Xcode-poco/i386

make IPHONE_SDK_VERSION_MIN=5.0 POCO_TARGET_OSARCH=i386 install

5.x86_64

./configure --config=iPhoneSimulator-clang-libc++ --no-tests --no-samples --omit=Data/MySQL,Data/ODBC --static --include-path=/usr/local/openssl/include --prefix=/Users/"用户名"/Desktop/Xcode-poco/iPhoneSimulator-x84_64

make IPHONE_SDK_VERSION_MIN=5.0 POCO_TARGET_OSARCH=x86_64 install

说明:

*--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 设置平台的架构信息

将各种架构的库合并:

lipo -create 需要合并的文件 -output 生成的目标文件;

查看静态库支持的架构:

lipo -info 需要查看的库文件

参考资料:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值