怎么在XCode下混合编译Objective-C++/Objective-C

Mio_Wang 2013-06-20 10:11:39
使用了某SDK,要把编译模式改成 objective-C++

在 Compile Source As 中改成了 objective-C++,因是引入的静态库,只有这个办法吧。

现在要用另一个库 AsyncSocket ,AsyncSocket在 objective-C 下可以,在 objective-C++ 下很多报错,估计是不兼容 C++ 模式。

请问在这种情况下,怎么能让两个库共存混编呢?

...全文
380 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mio_Wang 2013-06-20
  • 打赏
  • 举报
回复
应该是比较常见的问题吧,请高手们指点一下吧。自己顶上去
Mio_Wang 2013-06-20
  • 打赏
  • 举报
回复
引用 4 楼 miocwang 的回复:
编译模式改成 According to File Type,把调C++ 的文件都改成 .mm 后缀
之前试的不行,刚刚可以了,谢谢
miocwang 2013-06-20
  • 打赏
  • 举报
回复
编译模式改成 According to File Type,把调C++ 的文件都改成 .mm 后缀
Mio_Wang 2013-06-20
  • 打赏
  • 举报
回复
引用 2 楼 hslinux 的回复:
使用C++库的OC代码保存成.mm文件即可。 如果还不行,再尝试修改下编译选项: Apple LLVM compiler 4.1 - Language C++ Standard Library --> libc++(LLVM C++ standard with C++11 support)
好,我试一下,谢谢
hslinux 2013-06-20
  • 打赏
  • 举报
回复
使用C++库的OC代码保存成.mm文件即可。 如果还不行,再尝试修改下编译选项: Apple LLVM compiler 4.1 - Language C++ Standard Library --> libc++(LLVM C++ standard with C++11 support)
Objective-C程序设计》(作者杨正洪、郑齐心、李建国)通过大量的实例系统地介绍了Objective-C语言的基本概念、语法规则、框架、类库及开发环境。读者在阅读本书后,可以掌握Objective-C语言的基本内容,并进行实际的iPhone/iPad和Mac应用开发。   《Objective-C程序设计》共分成11章。前6章讲述Objective-C语言,包括数据类型、运算符、表达式、条件语句、循环语句、类、协议、继承、类别、编译预处理等内容。第7章到第10章讲述Objective-C的基础框架,以及文件操作、内存管理、数据保存等内容。第11章讲述了应用工具框架。第12、13章分别讲述了如何开发iPhone/iPad应用程序。第14章讲述了Objective-C++和访问Mysql数据库的编程知识。 第1章 启程.1 1.1 预备知识1 1.2 历史背景1 1.3 内容简介2 1.4 小结3 第2章 对C的扩展4 2.1 最简单的Objective-C程序4 2.2 解构HelloObjective-C程序7 2.2.1 #import7 2.2.2 NSLog()和@"字符串"8 2.3 布尔类型10 2.3.1 BOOL强大的实用功能11 2.3.2 比较13 2.4 小结14 第3章 面向对象编程基础知识15 3.1 间接15 3.1.1 变量与间接16 3.1.2 使用文件名的间接18 3.2 在面向对象的编程中使用间接24 3.2.1 过程式编程24 3.2.2 实现面向对象编程29 3.3 学习有关的术语33 3.4 Objective-C中的OOP34 3.4.1 @interface部分34 3.4.2 @implementation部分38 3.4.3 实例化对象40 3.4.4 扩展Shapes-Object41 3.5 小结43 第4章 继承45 4.1 为何使用继承45 4.2 继承语法48 4.3 继承的工作机制51 4.3.1 方法调度51 4.3.2 实例变量53 4.4 重写方法55 4.5 小结57 第5章 复合58 5.1 什么是复合58 5.1.1 Car程序58 5.1.2 自定义NSLog()59 5.2 存取方法62 5.2.1 设置发动机的属性64 5.2.2 设置轮胎的属性64 5.2.3 跟踪汽车的变化66 5.3 扩展CarParts程序67 5.4 复合还是继承68 5.5 小结69 第6章 源文件组织70 6.1 拆分接口和实现部分70 6.2 拆分Car程序73 6.3 使用跨文件依赖关系75 6.3.1 重新编译须知75 6.3.2 让汽车开动77 6.3.3 导入和继承79 6.4 小结80 第7章 深入了解Xcode82 7.1 改变公司名称82 7.2 使用编辑器的技巧与诀窍83 7.3 在Xcode的帮助下编写代码85 7.3.1 首行缩进85 7.3.2 代码自动完成85 7.3.3 括号匹配88 7.3.4 批量编辑88 7.3.5 代码导航91 7.3.6 emacs不是Mac程序91 7.3.7 任意搜索92 7.3.8 芝麻开门93 7.3.9 书签93 7.3.10 集中注意力94 7.3.11 开启导航条95 7.4 获取信息98 7.4.1 研究助手98 7.4.2 文档管理程序99 7.5 调试100 7.5.1 暴力调试100 7.5.2 Xcode的调试器100 7.5.3 精巧的调试符号101 7.5.4 开始调试101 7.5.5 检查程序104 7.5 备忘表105 7.6 小结106 第8章 FoundationKit快速教程107 8.1 一些有用的数据类型108 8.1.1 范围的作用108 8.1.2 几何数据类型108 8.2 字符串109 8.2.1 创建字符串109 8.2.2 类方法109 8.2.3 关于大小110 8.2.4 比较的策略110 8.2.5 不区分大小写的比较112 8.2.6 字符串内是否还包含别的字符串..112 8.3 可变性113 8.4 集合家族115 8.4.1 NSArray115 8.4.2 可变数组118 8.4.3 枚举“王国”119 8.4.4 快速枚举120 8.4.5 NSDictionary120 8.4.6 使用,但不要扩展122 8.5 各种数值122 8.5.1 NSNumber122 8.5.2 NSValue123 8.5.3 NSNull124 8.6 示例:查找文件124 8.7 小结128 第9章 内存管理129 9.1 对象生命周期129 9.1.1 引用计数130 9.1.2 对象所有权132 9.1.3 访问方法中的保留和释放133 9.2 自动释放134 9.2.1 所有对象全部入池135 9.2.2 自动释放池的销毁时间135 9.2.3 自动释放池的工作过程136 9.3 Cocoa内存管理规则138 9.3.1 临时对象138 9.3.2 拥有对象139 9.3.3 垃圾回收141 9.4 小结142 第10章 对象初始化143 10.1 分配对象143 10.2 初始化对象143 10.2.1 编写初始化方法144 10.2.2 初始化时做什么146 10.3 便利初始化函数146 10.4 更多部件改进147 10.4.1 Tire类的初始化147 10.4.2 更新main()函数149 10.4.3 清理Car类152 10.5 支持垃圾回收风格的Car类清理155 10.6 指定初始化函数156 10.6.1 子类化问题157 10.6.2 改进Tire类的初始化函数159 10.6.3 添加AllWeatherRadial类的初始化函数160 10.7 初始化函数规则160 10.8 小结161 第11章 特性162 11.1 修改特性值162 11.1.1 简化接口163 11.1.2 简化实现164 11.1.3 点表达式的妙用166 11.2 特性扩展167 11.2.1 名称的使用171 11.2.2 只读特性172 11.2.3 特性不是万能的173 11.3 小结173 第12章 类别175 12.1 创建类别175 12.1.1 声明类别175 12.1.2 实现类别176 12.1.3 类别的局限性178 12.1.4 类别的作用178 12.2 利用类别分散实现178 12.3 使用类别创建前向引用182 12.4 非正式协议和委托类别183 12.4.1 ITunesFinder项目184 12.4.2 委托和类别187 12.4.3 响应选择器187 12.4.4 选择器的其他应用188 12.5 小结189 第13章 协议190 13.1 正式协议190 13.1.1 声明协议190 13.1.2 采用协议191 13.1.3 实现协议192 13.2 复制192 13.2.1 复制Engine192 13.2.2 复制Tire194 13.2.3 复制Car196 13.2.4 协议和数据类型199 13.3 Objective-C2.0的新特性199 13.4 小结200 第14章 AppKit简介201 14.1 构建项目201 14.2 构建AppController@interface203 14.3 InterfaceBuilder203 14.4 布局用户界面205 14.5 连接207 14.5.1 连接输出口207 14.5.2 连接操作208 14.6 AppController实现210 14.7 小结212 第15章 文件加载与保存213 15.1 属性列表213 15.1.1 NSDate213 15.1.2 NSData214 15.1.3 写入和读取属性列表215 15.2 编码对象216 15.3 小结221 第16章 键/值编码222 16.1 入门项目222 16.2 KVC简介224 16.3 路径225 16.4 整体操作226 16.4.1 中途小憩227 16.4.2 流畅地运算231 16.5 批处理233 16.6 nil仍然可用234 16.7 处理未定义的键235 16.8 小结236 第17章 NSPredicate237 17.1 创建谓词237 17.2 燃料过滤器239 17.3 格式说明符240 17.4 运算符241 17.4.1 比较和逻辑运算符242 17.4.2 数组运算符243 17.5 SELF足够了243 17.6 字符串运算符245 17.7 LIKE运算符245 17.8 小结246

29,027

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧