V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
parkman
V2EX  ›  iDev

ios系统可以直接使用c++的code吗?

  •  
  •   parkman · 2013-03-18 21:38:45 +08:00 · 6602 次点击
    这是一个创建于 4272 天前的主题,其中的信息可能已经有所发展或是发生改变。
    ios系统可以直接使用c++的code吗?类似andriod的NDK编程。
    我在linux上写了一个opencv的项目,我希望直接在ios系统上运行。
    23 条回复    1970-01-01 08:00:00 +08:00
    missdeer
        1
    missdeer  
       2013-03-18 22:24:02 +08:00
    可以使用C++,比较大的C++类库比如Boost、Qt都可以在iOS上用了,opencv不了解。
    sumanx
        2
    sumanx  
       2013-03-18 22:31:05 +08:00
    opencv可以
    parkman
        3
    parkman  
    OP
       2013-03-18 22:33:55 +08:00
    @sumanx 可以详细的讲讲吗
    parkman
        4
    parkman  
    OP
       2013-03-18 22:35:54 +08:00
    @sumanx cpp 文件也可以在ios中一样使用吗
    yangxin0
        5
    yangxin0  
       2013-03-19 00:11:33 +08:00
    IOS就是一个unix系统。
    leafduo
        6
    leafduo  
       2013-03-19 00:40:32 +08:00
    可以,就当是 Objective-C++ 不就好了
    chisj
        7
    chisj  
       2013-03-19 09:10:41 +08:00
    python都可以吧,越狱了的话。
    parkman
        8
    parkman  
    OP
       2013-03-19 09:56:23 +08:00
    @chisj 兄弟你没看清楚我的意思, 我是想做成app。
    parkman
        9
    parkman  
    OP
       2013-03-19 09:57:03 +08:00
    @leafduo 不太清楚opencv的 ios的框架可不可以无缝在ios用上
    sumanx
        10
    sumanx  
       2013-03-19 10:05:12 +08:00
    @parkman 可以的,我现在就用基于c++的cocos2d-x开发东西,几乎全是cpp源码。
    ljbha007
        11
    ljbha007  
       2013-03-19 10:30:56 +08:00
    只要用交叉编译器编译成arm格式的eabi文件 并且引用的共享库在系统中都默认存在的话就没问题
    dorentus
        12
    dorentus  
       2013-03-19 11:11:27 +08:00   ❤️ 1
    OpenCV 可以用。

    参见 http://docs.opencv.org/doc/tutorials/introduction/ios_install/ios_install.html
    构建一个 opencv2.framework,直接导入 XCode 工程即可。
    chisj
        13
    chisj  
       2013-03-19 12:12:06 +08:00
    @chisj 恩,理解错了。做成APP也可以的,很多跨平台的游戏引擎部分估计就是C++的。
    parkman
        14
    parkman  
    OP
       2013-03-19 12:52:14 +08:00
    @dorentus 是不是之后的 cpp文件也是可以 直接可以用
    parkman
        15
    parkman  
    OP
       2013-03-19 12:55:35 +08:00
    @dorentus 我在这个地方看到讲需要把所有的代码改成 .mm格式
    @all 谢谢大家 刚刚开始学习ios编程,想移植代码到ios上
    xuan_lengyue
        16
    xuan_lengyue  
       2013-03-19 13:10:31 +08:00
    Objective-C++,可以用。
    唯一的区别是文件后缀必须是mm。
    sobigfish
        17
    sobigfish  
       2013-03-19 13:14:17 +08:00 via iPad   ❤️ 1
    opencv sf.net上还有专门针对iOS的例子吧,难道是我记错了
    BenX
        18
    BenX  
       2013-03-19 14:58:27 +08:00   ❤️ 1
    推荐一个blog
    http://tinsuke.wordpress.com/

    上面两篇文,看看就明白了。

    how to: compile and use tesseract (3.01) on ios (sdk 5)
    how to: cross compiling libraries for ios (armv6/armv7/i386)
    dorentus
        19
    dorentus  
       2013-03-19 18:50:48 +08:00
    @parkman 老版本的 XCode 我不太清楚,不过现在新版本的 XCode 4 什么的,是可以根据文件扩展名来识别文件类型的:

    * .m 是 Objective-C 源文件
    * .c 是 C 源文件
    * .cpp 或者 .cxx 什么的是 C++ 源文件
    * .mm 是 Objective-C++ 源文件

    C++ 本来就是被支持的,所以不用改扩展名啦
    leafduo
        20
    leafduo  
       2013-03-20 22:17:26 +08:00
    @parkman 是不是写错了?
    parkman
        21
    parkman  
    OP
       2013-03-20 23:02:47 +08:00
    @leafduo
    dcoder
        22
    dcoder  
       2013-03-20 23:30:24 +08:00
    这个是好贴啊,请问纯粹用C++,或者只用很少的Object-C,能写出完整合法的iOS原生app吗?现在难道主要的Cocoa API都有C++ wrapper了?TCP/IP socket或者蓝牙之类的网络API,也有Wrapper吗?
    funcman
        23
    funcman  
       2013-03-21 13:59:04 +08:00
    @dcoder 得自己写wrapper。socket就用BSD socket。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5286 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 09:30 · PVG 17:30 · LAX 01:30 · JFK 04:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.