![](/img/trans.png)
[英]Cannot convert from const TiXmlString to const std::string&
[英]Casting from NSString to “const std::string&”
我对C ++和ObjectiveC真的很生疏,但是我已经将C ++库链接到我的iOS项目中。 我无法从iOS应用程序调用C ++库中的方法。
最终,我很难理解类型转换并正确处理。
有人可以帮助指出我做错了什么,并提供解决方案吗?
//在我的C ++库中
std::string Foo::bar(const std::string& src)
{
//...
}
//在我的iOS项目中:
NSString *input = @"Foo";
NSString *output = [NSString stringWithCString: Foo::bar(std::string([input UTF8String])).c_str() encoding: [NSString defaultCStringEncoding]];
我在Xcode中得到的错误是:
Undefined symbols for architecture x86_64:
Foo::bar(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from...
据我了解,这是问题的投入 。
我已经检查过StackOverflow,但似乎找不到从NSString到const std :: string&的特定转换。
谢谢!
要将NSString
转换为const std::string&
,只需使用[input UTF8String]
。 在下面尝试我的代码
NSString *input = @"Foo";
std::string str = [input UTF8String];
NSString *output = [NSString stringWithUTF8String:Foo::bar(str).c_str()];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.