在工程中引入使用C++編寫的靜態庫是,經常會因為包含標准庫而報錯:
一般用兩種辦法可以解決這個問題:
- 使用老版本的編譯器,如llvm gcc 4.2,而不使用默認的llvm compiler,這時只要將工程中的任意一個.m文件的后綴改成.mm就可以了。xcode會自動引入c++標准庫。缺點是不支持ARC等新特性。
- 使用默認編譯器,但是引入stdc++.dylib庫,這是標准C++庫,就可以使用List、Queue等C++類了。
新的工程最好是使用第二種方法,這樣能使用oc以及編譯器的一些最新特性。