0

我在为 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 编译错误解析字符串

我已经尝试过了,但它也不起作用。

4

1 回答 1

1

该错误告诉您该怎么做:use -fexceptions to enable.

您可以将其添加到您的 Android.mk 中APP_CPPFLAGS += -fexceptions -frtti

另外,你的代码是错误的。将您的代码更改为doc.parse<0>(&buffer[0]);. c_str()返回一个不可修改的const char 指针,但是parse会修改内容,因此您需要传递底层缓冲区。

于 2013-09-13T09:38:35.127 回答