XCode 4.0 版本下 的 苹果静态库的编写操作 ObjectC 与 C++ 混编

本文详细介绍了在Xcode4.0环境下使用C++和Objective-C混合编程进行iOS静态库的创建、编译及测试过程。包括工作空间创建、静态库与动态库的生成、C++与Objective-C类的实现、动态库调用方法等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以下这些操作是在 XCode4.0 上的情况  3.2 以前的版本没有试过 。

在IPhone / Ipad 开发中 静态库用出很大 。 ObjectC 支持 与 C++ 混编。 C 语言可以直接在.m 文件里便于。 如果程序里要用的C++的话 要使用.mm 文件。 在调用动态库时 如果动态库中有C++的内容, 那么调用文件要改成.mm 。  本人在着方面困惑好久。 

 

 

动态库编写过程

1 创建一个工作空间。File ->New ->New WorkStation . 命名为“StaticLibraryStation”.   

 

 

 

2 在创建的StaticLibraryStation 中 创建静态库 File ->New -> New Project . 在 iOS 下 选择 Framework & Library  选择 右侧的 “Cocoa Touch Static Library ” 点击 “next”  命名为 “FirstStaticLibrary” 

 

 

3 给工程FirstStaticLibrary 创建 C++ 类 FirstC++Class   其中头文件为 FirstC++Class.h  类执行体为:FirstC++Class.mm

  FirstC++Class.h  

 

FirstC++Class.mm

 

 

 

创建ObjectC类  FirstObjectCClass 其中头文件 FirstObjectCClass.h  执行体为 FirstObjectCClass.mm

FirstObjectCClass.h

 

 

FirstObjectCClass.mm

 

 

 

然后在iPhone4.3 simulator 模拟器下编译执行 。

产生 libFirstStaticLibrary.a   此文件 可以在 工程 Projects 目录下 右击 libFirstStaticLibrary.a  选择“Show in Finder” 找到

 

4 动态库编译成功后, 添加我们 的动态库测试程序。 在我们的工作空间里 File-> New -> New Project 选择 ios ->Application 右侧的 

Window-based Application 单击next  命名为FirstStaticLibraryTest 

记住 把  FirstStaticLibraryTestAppDelegate.m 改成 FirstStaticLibraryTestAppDelegate.mm ; 因为我们的动态库里包含了 C++代码

ObjectC 中 只有mm 源文件才能支持C++ ObjectC 的混编  。 

 

把FirstObjectCClass.h 头文件 添加到你的FirstStaticLibraryTest工程项目中  同时libFirstStaticLibrary.a 也添加到你的项目框架中 。 

 

在我们的的FirstStaticLibraryTestAppDelegate.mm 中 导入 头文件 #import "FirstObjectCClass.h" 

然后 在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 方法中 添加 如下代码

 

 

然后在iPhone4.3 simulator 模拟器下编译执行  

 

5  打断点 查看运行结果 

如下 

 

 

ios下静态库编写 在Xcode4 大概就这样   哈哈  2011-06-30

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值