【发布时间】:2011-05-16 04:46:23
【问题描述】:
我编写了一些类来处理具有透明单位的数字,就好像它们只是整数或浮点数一样。简而言之:
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
对于整个 c++ 文件中的所有 #include <*> 实例,我还获得了 *: No such file or directory。
我确信它是某种简单的修复方法,但 .mm 和 .h 还不够。
更新: 发现将源代码复制并粘贴到新文件中似乎可行。 mm 文件(或 cpp 文件)编译。但是 h 文件不起作用,它会在任何出现 c++ 特定代码时引发上述错误。
谢谢!
【问题讨论】:
-
请提供更多细节;返回的确切错误等。
-
@Jesse_Beder 我同意这几乎是同一个问题,但现在平台是 Xcode4,它似乎有足够的差异,我无法使用该问题的正确答案来解决我的问题。跨度>
标签: c++ objective-c xcode linker objective-c++