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

时间:2016-10-25 11:07:56

标签: xcode boost objective-c++

我在我的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;

}

1 个答案:

答案 0 :(得分:0)

简短回答

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

答案很长

我认为你对IDE和编程语言之间的区别感到有点困惑。 Xcode是一个IDE。也就是说,您计算机上的一个应用程序可以将大量文件合并到一个新应用程序中。

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

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

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

然而,Apple知道人们经常使用C ++,所以就像你可以同意朋友一样,既然你说英语和日语,你只需混合单词,你可以告诉Xcode某个文件会混合C ++和Objective-C。这是通过发明一种新的语言Objective-C ++来完成的,当你给你的文件后缀&#34; .mm&#34;时,Xcode知道使用它。