在工程中引入使用C++编写的静态库是,经常会因为包含标准库而报错:
一般用两种办法可以解决这个问题:
- 使用老版本的编译器,如llvm gcc 4.2,而不使用默认的llvm compiler,这时只要将工程中的任意一个.m文件的后缀改成.mm就可以了。xcode会自动引入c++标准库。缺点是不支持ARC等新特性。
- 使用默认编译器,但是引入stdc++.dylib库,这是标准C++库,就可以使用List、Queue等C++类了。
新的工程最好是使用第二种方法,这样能使用oc以及编译器的一些最新特性。