如何混编c++
1. 如何混编c++
用 Xcode4 创建一个 工程,如果在任意一个文件AAA.h的头部加入
#include<string>
using namespace std;
编译运行,就会发现,编译不通过,提示为:
'string' file not found
原因就是文件后缀应该从.m改为.mm,这样就支持 c++混编了,必须将引用到c++混编的AAA.h的所有文件后缀都改为.mm,否则还是会编译不过。所以,为了保险,我一般将所以的文件后缀都全部改为.mm.
2. c++ Standard Library的选择
如果你在 summary 中 的Deployment Target 中选择了4.3,而不是XCode默认的6.0,那么你在 混编C++的时候还可能会遇到另外一个错误:
clang: error: invalid deployment target for -stdlib=libc++ (requires iOS 5.0 or later)
clang failed with exit code 1
原因是 XCode 的 Build Setting中 的 C++ Standard Library默认选择了
libc++ (LLVM C++ standard library with c++11 support)选项,这个表示支持c++11的最新特新,
但是它只支持ios5以上,所以如果要使用这个选项,有两个选择:
第1个选择就是 将Deployment Target中 改为5.0以上,一般不会这样,因为我们一般想支持的sdk越低越好,尽量支持低版本的ios设备。
第2个选择就是 将这个 C++ Standard Library选项改为 libstdc++ (GNU c++ standard library ),它支持最低到4.3 .
如何混编c++的更多相关文章
- Swift和Objective-C混编注意事项
前言 Swift已推出数年,与Objective-C相比Swift的语言机制及使用简易程度上更接地气,大大降低了iOS入门门槛.当然这对新入行的童鞋没来讲,的确算是福音,但对于整个iOS编程从业者来讲 ...
- iOS 里面 Swift与Objective-C混编,Swift与C++混编的一些比较
即使你尽量用Swift编写iOS程序,难免会遇到部分算法是用C++语言编写的.那你只能去问问”度娘“或“狗哥”怎么用Swift调用C++算法. 一,C,C++, Objective-C,S ...
- IOS --- OC与Swift混编
swift 语言出来后,可能新的项目直接使用swift来开发,但可能在过程中会遇到一些情况,某些已用OC写好的类或封装好的模块,不想再在swift 中再写一次,哪就使用混编.这个在IOS8中是允许的. ...
- Processing与Java混编初探
Processing其实是由Java开发出的轻量级JAVA开发语言,主要用于做原型,有setup.draw两个主接口和几个消息相应接口 Processing和Java混编很简单...在Java中引入外 ...
- obeject-c 与 swift 混编
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px ".PingFang SC"; color: #454545 } p.p2 ...
- iOS开发--Swift 如何完成工程中Swift和OC的混编桥接(Cocoapods同样适用)
由于SDK现在大部分都是OC版本, 所以假如你是一名主要以Swift语言进行开发的开发者, 就要面临如何让OC和Swift兼容在一个工程中, 如果你没有进行过这样的操作, 会感觉异常的茫然, 不用担心 ...
- iOS之 C++与oc混编
声明:本文只是随笔,自己做个笔记方便以后查阅如要转载,注明出处.谢谢! 2016年第一篇随笔!!! 由于最近要搞一个项目用到c++的一些api所以要混编,于是就记录下这个过程中的一些细节上的东西! O ...
- swift混编oc碰到的问题
在swift中混编苹果官方的Reachability OC文件. 因为swift工程的target是生成framework而非app,framework中调用oc与app中使用桥接文件还不一样,参考: ...
- swift objective-及c语言 混编
在xocde6出来我们大部分代码都是用objective-c写的(部分C/C++),现在出生来了一个新的语言叫swift,那么如何既能使用我们之前的代码,还可以使用新语言呢, 本文就此做一下说明. 关 ...
- [ios][swift]swift混编
http://blog.csdn.net/iflychenyang/article/details/8876542(如何在Objective-C的头文件引用C++的头文件) 1.将.m文件扩展名改为. ...
随机推荐
- iOS实现程序长时间未操作退出
大部分银行客户端都有这样的需求,在用户一定时间内未操作,即认定为token失效,但未操作是任何判定的呢?我的想法是用户未进行任何touch时间,原理就是监听runloop事件.我们需要进行的操作是创建 ...
- 用JQuery怎么去一次性获取 aspTextBox 文本框的值
如:<asp:TextBox ID="txtSubject" runat="server">aa</asp:TextBox> 第一次用服 ...
- Hibernate Validator参数校验
日常开发中经常会遇到需要参数校验的情况,比如某个字段不能为空.长度不能超过5等都属于参数校验的范围.对于简单的参数校验通过写几个if-else判断语句就搞定,但是对于复杂的多个参数校验的情况,就不是那 ...
- 配置wampserver 虚拟主机
1.修改http.conf 找到,#Include conf/extra/httpd-vhosts.conf,修改为(有的版本服务器,默认是开启的): 2.配置httpd-vhosts.conf文件, ...
- JDiPad项目runtime的使用分析
首先,项目有点老 但是运行还是没有问题的.其中很多地方到了runtime,同时也看到了 早期的开发人员 基本没用pod 第三方也很少用,除了微信登录,整个项目还没看到集成的第三方SDK.然后慢慢梳理 ...
- IOS开发 CocoaPods 使用 pod Install 出现 Updating local specs repositories
pod install 换成pod install --verbose --no-repo-update这个命令,前面的命令被墙了
- 在FP与DDD的道路上越走越远
托辞 最近一口气读了若干本FP方面的书,可人是越来越懒了,要整理个什么东西却也没有那个精力,所以简单扔几张图,算是给自己一个提醒吧. 在此期间,我用并不纯熟的Scala和Groovy练了一把手.虽然只 ...
- 【剑指offer】整数中1出现的次数,C++实现
原创博文,转载请注明出处!本题牛客网地址 博客文章索引地址 博客文章中代码的github地址 # 题目 # 思路 分析1在数字中出现的规律.设数字N = abcde ,其中abcde分别为十进制中各位 ...
- git 第一次提交至仓库
可以打开Idea 的 terminal直接进行命令操作 1.git init 2.git add src(这个src意思是添加src目录下的所有文件,有些会说add .. 那就是提交工程下的所有 ...
- C++ set容器
STL中的set容器的一点总结:(元素唯一,且排序) 1.关于set (头文件:<set>) C++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, strin ...