Objective-C/C++混编编译器设置
来源:互联网 发布:java线程通信实例 编辑:程序博客网 时间:2024/04/29 17:59
当使用Xcode编写C++代码时,难以避免要使用xcode/C++混合编译。
如果你在Xcode中编写的工程中既有Objective-C代码,又有C++代码,在没有任何设置编译器选项的默认情况下,你将会发现一下问题:
(1)编译器报错。莫名其妙的错误,如C++的关键字(如virtual, new, delete等)找不到,不能解析啊等问题
(2)以*.cpp结尾的纯C++代码编译没有问题,但是既有Objective-c又有C++的文件(*.mm)文件就会报各种问题
在Xcode中,通常,Objective-c的后缀名位 .h/.m,C语言的后缀名为 .h/.c, C++的后缀名为.h/.cpp, 当一个文件中既有objective-c又有C++代码时,后缀名为 .h/.mm。在编写代码时要写对后缀名。其次,你可能发现,后缀名都写对了,代码也没有任何问题,编辑器也没有报错,为什么编译的时候就报错了呢?事实上,编译器和编辑器的工作是区分开来的,编辑器就是你写代码的地方,仅检查代码语法是否有错误,你语法没有错误当然不会报错了。编译器就是要编译运行在编辑器中编写好的代码,如果编辑器仅支持Objective-C,它怎么可能编译的了C++代码呢?
要让编译器知道代码中有C++代码,要对编译器做一些设置,先看图:
1.单击你的工程,选择TARGET下的目标文件
2.在选项卡中选择“Build Settings”选项
3.找到“Apple LLVM compiler x.x - Language”设置项(其中x.x为你的xcode默认的LLVM编译器版本,不同的xcode版本不一样)
4.图中绿色选中的选项“Compile Sources As”,意思是要把工程按照哪一种语言进行编译,默认是第一个“According to File Type”,将其改成Objective-C++即可。
现在重新编译一下你的工程是不是就可以成功编译了呢。
- Objective-C/C++混编编译器设置
- Objective-C/C++混编编译器设置
- Objective-C/C++混编编译器设置
- Swift和Objective-C混编桥接文件设置
- C++和Objective-C混编
- C++和Objective-C混编
- Objective-C和C++混编
- C++和Objective-C混编
- C++和Objective-C混编
- C++和Objective-C混编
- Objective-C和C++混编
- swift与objective-c混编
- C++和Objective-C混编
- Objective-C和swift混编
- Swift和Objective-C混编
- Objective-C 与 Swift 混编
- C Fortran混编设置
- Objective-C 编译器
- js 设置焦点放到最后
- jQuery事件大全
- 有时间一天看一次
- linux run setenforce 1 在check filesystem处报错的解决办法
- ibatis打印sql
- Objective-C/C++混编编译器设置
- 祢衡传
- ubuntu12.04安装配置jdk(转自http://www.cnblogs.com/bluestorm/archive/2012/05/10/2493592.html)
- OpenGL程序运行提示glut32.dll丢失问题
- 启动Weblogic报出java.lang.OutOfMemoryError: PermGen space异常
- 多些忍让与宽容,吃一时之亏,享一生之幸福
- activiti学习资料(xml格式的字符串发布流程)
- 我把我唱给你听
- IOS开发--------pdf渲染的小窍门