如何在 Xcode 中使用 boost c++ 库?

How to use boost c++ library in Xcode?

我在 Xcode 中成功添加了 boost 框架,并且 运行 一些 boost 函数,但我想获得 boost 版本。

这是我的片段的一些原型:

#import "ViewController.h"
using namespace std;
using namespace boost;

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
[super viewDidLoad];

string str1(" hello world! ");
to_upper(str1);  // str1 == " HELLO WORLD! "
trim(str1);      // str1 == "HELLO WORLD!"

string str2=
to_lower_copy(
              ireplace_first_copy(
                                  str1,"hello","goodbye")); // str2 == "goodbye world!"
cout<<str2;

}

简答

您的文件可能具有 .m 后缀而不是 .mm 后缀,您的代码需要在其他 Objective-C 应用程序中使用 C++ 命令。您还需要包括必要的提升 headers。如果您能告诉我们您收到了哪些错误消息,或者您正在尝试解决什么问题,那可能会有所帮助。

长答案

我认为您对 IDE 和编程语言之间的区别有点困惑。 Xcode 是一个 IDE。也就是说,您计算机上的一个应用程序可以获取一堆文件并将它们组合成一个新的应用程序。

C++ 是一种编程语言,您可以使用它来定义应用程序的行为(C++ 文件的名称通常以 .cp 或 .cpp 结尾)。除了行为,你还可以提供图像文件和声音文件供这些行为等使用

通常,人们使用 Objective-C(另一种编程语言)来定义 Mac 应用程序的行为(这些文件以 .m 结尾)。

你上面所做的是在Objective-C源文件中编写C++代码,计算机无法理解(就像如果我开始在英语句子中使用日语单词,大多数人都会遇到问题。

但是,Apple 知道人们经常使用 C++,所以就像您可以同意朋友的观点一样,因为您都说英语和日语,所以您只是混合使用这些词,您可以告诉 Xcode文件将混合 C++ 和 Objective-C。这是通过发明一种新语言 Objective-C++ 来实现的,Xcode 知道在您为文件添加后缀“.mm”时使用它。