在iOS工程中引入C++静态库

[转载自戴维营教育: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以及编译器的一些最新特性。

原文地址:https://www.cnblogs.com/jsxh/p/2879823.html