我在为android编译这个时遇到了问题:
string buffer = readString(m_paths[SCREEN]); if (buffer != "") { //Read full buffer xml_document<> doc; doc.parse<0>((char*)buffer.c_str()); }
它在VS2010上运行良好,但由于某些原因,它在ndk中失败,返回以下错误:
error:exception handling disabled, use -fexceptions to enable
我搜索过,发现了这个: RapidXML compilation error parsing string
我试过了,但也不起作用。
错误告诉您该怎么做: use -fexceptions to enable .
use -fexceptions to enable
你可以把它添加到你的Android.mk中, APP_CPPFLAGS += -fexceptions -frtti .
APP_CPPFLAGS += -fexceptions -frtti
此外,您的代码是错误的。将代码更改为 doc.parse<0>(&buffer[0]); . c_str() 返回a 常量 不可修改的字符指针 parse 修改内容,以便您需要传递底层缓冲区。
doc.parse<0>(&buffer[0]);
c_str()
parse