具有一些C ++代码的Objective C将无法编译

时间:2011-08-14 04:53:40

标签: objective-c xcode gcc compiler-construction linker

我有一个带有一些C ++代码的Objective C项目,果然C ++代码无法编译

我理解编译器会假设要编译哪种语言,但我之前看过这个应用程序运行所以我很好奇如何让我的Xcode 4运行编译这个项目

即。由于编译器无法识别c ++ std::语法

,因此此函数声明会产生错误
 std::string string_with_formatting(const unsigned int value)
 {

我如何解决这个问题?我应该#include或#import

3 个答案:

答案 0 :(得分:10)

Objective-C ++是C ++的超集。您可以在Objective-C ++源代码中使用C ++。

  1. 确保文件的扩展名为.mm,否则将被视为Obj-C,而不是Obj-C ++
  2. #include <string>

答案 1 :(得分:0)

将该文件更改为.mm以及包含该文件的任何其他文件(或.h附带的文件)。

答案 2 :(得分:-1)

目标C没有std :: string的概念。您需要使用类似NSString

的内容