OC 與 C++ 混編導致的問題
阿新 • • 發佈:2018-11-29
object c cos alt idt tails blog fun 所有 src
最近項目中用到 std::function. 在導入頭文件的時候,發現問題總是報頭文件無法找到。但是我通過xcode 跳轉都能夠跳轉到對應的文件了
#include <string.h> #include <functional>
1、一開始以為是 鏈接庫的問題 於是添加 libstdc++.tbd 發現沒用。
2、考慮到是否是 文件搜索路徑的問題, 經過與 cocos 工程進行對比發現不是這個問題。
3、考慮是否是 編譯設置的問題
build setting 裏面設置支持 C++11 也沒用
4、後面考慮到是否是混編的問題
必須將引用到 c++混編的 .h 的所有文件後綴都改為 .mm。
.m 是 objective c 語言文件,僅支持 object c 和 c 語言混編。
.mm 是 objective c++ 語言文件, 支持的是 objective c語言和 c++ 語言混編。
解決方案來自: https://blog.csdn.net/tangaowen/article/details/8648990
但是這時候又遇到
這個問題,需要將所有引用的
#include "MyWebView.h" 改成 #import "MyWebView.h"
#import 和 #include 的區別 留待後面再寫, 這裏主要是記錄遇到的這幾個問題
OC 與 C++ 混編導致的問題