OS X下将编译开源C/C++编为i386架构(xcode simulator)静态库的方法

本文介绍了一个简单的静态库编译过程,包括如何使用xcrun-sdkiphonesimulatorclang将源文件source1.c和source2.c编译成目标文件obj1.o和obj2.o,再通过libtool将这些目标文件打包成静态库文件libexample.a。最后,通过lipo工具验证了静态库文件的架构。

举个简单的例子

假设我们有两个源文件:source1.c和source2.c


先将源文件编译成目标文件

#: xcrun -sdk iphonesimulator clang -c source1.c -o obj1.o -arch i386 -mios-simulator-version-min=5.0
#: xcrun -sdk iphonesimulator clang -c source2.c -o obj2.o -arch i386 -mios-simulator-version-min=5.0


然后将目标文件用libtool打包成静态库文件

#: libtool -static -o libexample.a obj1.o obj2.o


然后可以通过lipo来查看静态库的架构是不是所需要的

#: lipo -info libexample.a
input file libexample.a is not a fat file
Non-fat file: libexample.a is architecture: i386


上面只是举一个简单的例子,也可以将i386架构换成其它架构。对于复杂的工程,可能需要修改配置文件盒Makefile来进行编译,但是原理基本是一样的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值