繁体   English   中英

Xcode中的Objective-C ++和.cpp文件

[英]Objective-C++ and .cpp files in Xcode

我正在尝试制作一个简单的Objective-C ++应用程序。 我的所有代码都可以很好地编译,包括在Objective-C类中使用C ++,直到尝试将C ++类添加到混合中为止。 我创建了一个简单的C ++类:

Test.h

class Test {

};

并将此文件包含在Objective-C类(扩展名为.mm)中,并且出现以下构建错误:

error: expected '=', ',', ';', 'asm' or '__attribute__' before 'Test'

显然,我在这里缺少一些简单的概念。 我希望能得到一些启发。

好吧,在仔细阅读了Apple的文档之后 ,在头文件中使用__cplusplus预处理器标志似乎是答案。 这是现在的代码:

#ifdef __cplusplus

class Test {

};

#endif

helixed的答案将无济于事,如果__cplusplus未定义,预处理器只会跳过您的类。

大多数您想从* .m文件包含C ++类的方法,都尝试将其重命名为* .mm。 这在我这方面解决了同样的问题。

所需的预处理器命令不应为:

#ifdef __cplusplus

在Xcode 6中,有以下选项:

Apple LLVM 6.0 - Language -> Compile Sources As

您可以将其设置为Objective-C ++,然后文件扩展名无关紧要。 如果您正在跨平台工作并且需要使用其他文件扩展名,则此功能特别有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM