2011-09-13 115 views
-3

我是在IPHone開發中的新手,我包含一個帶.cxx作爲實現類和.h頭的庫,但仍然在編譯時出錯,請幫忙嗎? 我得到線錯誤,如下面在xcode中編譯cxx文件

class StackEvent; 
+1

編譯器說什麼? – Davyd

回答

0

的Objective-C類是包括任何C或C++代碼必須以「.mm」後綴,而不是「.M」在實現類被重命名。

+0

它被重命名爲.mm ....但它仍然不起作用... Compilier建議我將類更改爲類 – MJK

+0

但是,當我將它包含在.mm中時,我將C++頭包含在Objective C頭文件中...但我需要將它包含在標題中 – MJK

+0

您是否將引用該標頭的所有文件都更改爲.mm?即如果你需要在「Foobar.h」中包含.cxx文件,那麼包含「Foobar.h」的每個文件都必須更改爲.mm – Isabel

0

任何Objective-C的文件(.M),其包括任何含頭C++代碼,無論是直接或通過鏈接#包括,將有可能失敗,編譯錯誤。

您需要將所有.m文件重命名爲.mm,如果他們能夠「看見」您的C++頭文件。

如果這會導致重命名太多,那麼您將不得不限制#includes,例如將C++ #include移出頭文件並將其僅放在需要它的.mm文件中。