带有某些 C++ 代码的 Objective C 无法编译

问题描述 投票:0回答:3

我有一个 Objective C 项目,其中包含一些 C++ 代码,果然 C++ 代码无法编译

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

即。此函数声明会产生错误,因为编译器无法识别 c++

std::
语法

 std::string string_with_formatting(const unsigned int value)
 {

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

objective-c xcode gcc linker
3个回答
10
投票

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

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

0
投票

将该文件更改为

.mm
以及包含该文件的任何其他文件(或伴随
.h
的文件)。


-1
投票

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

NSString

的东西
© www.soinside.com 2019 - 2024. All rights reserved.