[转载自戴维营教育:http://www.diveinedu.net/%E5%9C%A8ios%E5%B7%A5%E7%A8%8B%E4%B8%AD%E5%BC%95%E5%85%A5c%E9%9D%99%E6%80%81%E5%BA%93/]

在工程中引入使用C++编写的静态库是,经常会因为包含标准库而报错:

Snip20130128 3

一般用两种办法可以解决这个问题:

  1. 使用老版本的编译器,如llvm gcc 4.2,而不使用默认的llvm compiler,这时只要将工程中的任意一个.m文件的后缀改成.mm就可以了。xcode会自动引入c++标准库。缺点是不支持ARC等新特性。

    Snip20130128 2

  2. 使用默认编译器,但是引入stdc++.dylib库,这是标准C++库,就可以使用List、Queue等C++类了。

    Snip20130128 1

新的工程最好是使用第二种方法,这样能使用oc以及编译器的一些最新特性。

posted on 2013-01-28 13:56  排云鹤  阅读(6047)  评论(0编辑  收藏  举报