[英]How can I use my custom types (C++) in an objective-c project with xcode?
我寫了一些類來處理具有透明單位的數字,就好像它們只是整數或浮點數一樣。 簡而言之:
SI_Term speed(4, "mph");
SI_Term distance(10000, "feet");
SI_Term time = distance / speed;
std::cout<<time.string();
所有主要運營商都無法按這種方式工作。 我做了很多工作,所以我想在我的ObjC iPhone應用程序中使用C ++類。 我嘗試將擴展名為.h和.mm的文件添加到我的xcode項目中,但似乎並未將它們視為C ++文件。 (在我聲明一個類的任何地方都找不到任何STL標頭,語法錯誤)。
新信息:嘗試使用.mm和.h擴展名,錯誤:在.h文件中: namespace DA
以及涉及c ++代碼的幾乎所有其他內容(此消息共約40個錯誤)給了我expected '=', ',', ';', 'asm' or '__attribute__' before ':' token
我還得到*: No such file or directory
在整個c ++文件中, #include <*>
所有實例都*: No such file or directory
。
我敢肯定它只是某種簡單的解決方法,但是.mm和.h還不夠。
更新:發現將源代碼復制並粘貼到新文件中似乎可行。 mm文件(或cpp文件)將編譯。 雖然h文件不起作用,但是在出現任何c ++特定代碼時都會拋出上述錯誤。
謝謝!
您可能在一個.m文件中包含(或導入)了h文件。 那些也需要重命名為.mm。
最后,您可能會將所有.m分支命名為.mm。 順便說一下,cpp文件可以簡單地保留為cpp。 沒有理由重命名它們。
我不知道到底要得到什么錯誤,而不是將擴展名為.hpp和.cpp的文件添加到項目中,而是將頭文件的擴展名更改為.h,並將擴展名更改為.cpp文件轉換為.mm或.M,以便Xcode將其識別為Objective-C ++文件,並進行適當的編譯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.