2 u012957084 u012957084 于 2013.12.24 21:23 提问

object c 怎么同时使用 object-c object-c++两种语言编译?

我的项目要引入两个第三方类库,一个要object 编译能通过,另一个要object-c++编译才能通过,但这两种语言才编译器中只能选一种,但是两个类库无论你改了哪个都报错,该怎样解决?

1个回答

assholeu
assholeu   2015.01.18 17:54

用C编译的库用OC,用C++编译的库用OC++,为了避免冲突,最好将Compile Sources As设置为"According to File Type",将需要用到C++编译的
库的m文件改名为mm,Objective-C天然支持C语言混编,只是对C++不怎么友好。注:使用"According to File Type"时,需要将C方言设置为GUN89
或者更高(再说C89的标准有些确实比较恶心),不然系统自带的OC库会编译不通过。
附图:图片说明

附带一些静态库编译说明:
编译静态库时,如果含有cpp文件,则必须使用"According to File Type"或者Objective-C++来编译静态库。用户在使用库时,如果没选"According to File Type"或者是Objective-C++编译会不通过的,使用Objective-C++则不需改后缀,使用"According to File Type"则需要改后缀。"According to File Type"方式灵活,Objective-C++则限制了整个工程。

希望我上面的回答应该对你有所帮助!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
C语言封装成object-c的过程,实现原理
前言 做iOS开发的朋友,对OC肯定非常了解,那么大家有没有想过OC中NSInteger,NSObject,NSString这些对象是怎么封装的?接下来我们就使用C语言来一部一部的实现这个封装。 Object对象 首先我们先封装一个Object对象,我们来分析一下: 如果使用C来封装对象,我们就要用到结构体每一个Object都有一个计数器,这个计数器用来管理对象的释放提供一
使用clang编译Object-C程序
1、使用终端进入.m所在目录 2、执行:clang    -fobjc-arc    -framework   Foundation    XXX.m 3、没有指定输出文件名,所以生成的是a.out 4、执行./a.out
第一篇 Object-C快速入门
Object-C是OS X和iOS上的主要程序开发语言。它是C语言的超集,提供了面向对象和动态运行时的功能。Object-C继承了C语言的语法、基本类型和流程控制语句,同时添加了定义类和方法的语法。当进行动态类型识别和绑定的时候,Object-C还添加了对象结构管理和对象语法的语言层面的支持,将很多工作延迟到了运行时进行处理。
Object C中文件后缀名
.h 头文件 .m Object -C源文件 后缀名 .plist property List的简称,用来存放数据的一种文件 .storyboard xcode4.3后iphone界面布局 .pch 预编译头文件 images.xcassets ios中用来存放资源图片的
[Object-C语言随笔之三] 类的创建和实例化以及函数的添加和调用!
李华明Himi 原创,转载务必在明显处注明:转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/himistudy/396.html 上一小节的随笔写了常用的打印以及很基础的数据类型的定义方式,今天就来一起学习下如何创建类与函数的一些随笔; 首先类的创建:在Xcode下,菜单File-New File,然后出现选择class模板,如下图(图1)
Object-C 介绍
介绍Object-C 是一个为苹果IOS 和OS X系统编写程序的语言。它能够编译和构建命令行功能、GUI、领域框架的通用语言。他也提供了很多的功能帮助维护复杂的应用。 像C++一样,Object-C也是在C语言的基础上添加了面向对象的特性,但是两种语言完整这个目标,采用了明显不同的基础哲学。Object-C明显更加的偏向动态语言,推迟它的决定到运行时,而不是编译时。这个表现在IOS 和 OS X
Windows下搭建Object-C开发环境
转载请注明出处,原文网址:http://blog.csdn.net/m_changgong/article/details/7759419 作者:张燕广 1、 开发环境搭建请参考       http://wenku.baidu.com/view/9ffed817f18583d0496459ca.html ps: 1)如果没有积分无法下载上面的文档,又不想设置的时候自己敲写,先贴出我的
Object-C之set方法,get方法
main.m #import #import "Person.h" int main(int argc, const char * argv[]) { //创建person对象 Person *person = [[Person alloc] init]; //设置person对象的名字和年龄 [person setName:@"Jack"];
Object c的优缺点
Objective-C是非常“实际”的语言。它使用1个用C写成、很小的运行库,只会令应用程序的大小增加很小,和大部分OO系统使用极大的VM执行时间会取代了整个系统的运作相反,ObjC写成的程序通常不会比其原始码大很多。而其函式库(通常没附在软件发行本)亦和Smalltalk系统要使用极大的内存来开启1个窗口的情况相反。 Objective-C的最初版本并不支持垃圾回收。在当时这是争论的焦点之一,
gcc编译(学习object c)
很多天没有用c了,今天