2010-01-14 70 views
1

我想在Objective C項目中使用C++的Template類。 我讀過它支持。如何在目標C中使用C++模板類C

當我試圖導入是用C編寫模板類++我得到很多像
錯誤無法找到「類」 等協議聲明..

誰能給我一個簡單的例子。
等待回覆。

回答

1

您是否將客觀的C++代碼放在.mm文件中?除了objective-c和c之外,您需要使用.mm文件告訴編譯器允許解析C++結構。


你不能只從.H改變一個頭文件的名稱.mm - 包含#include/#import指令需要更改文件的名稱。

// file: main.m 
#import "cppclassdef.h" //will not work 
#import "cppclassdef.mm" // also will not work. additionally will confuse XCode which will try to compile the .mm file by itself. 

// file: main.mm 
#import "cppclassdef.h" // this is how to do it. 
+0

最初我將它命名爲.h文件。但我試圖用.mm重命名它,但仍然沒有編譯 – Ekra 2010-01-14 13:45:47

+0

然後你需要包含一些代碼示例。你可以簡單地將問題簡化到什麼程度? – 2010-01-14 15:04:22