RapidXML android ndk проблема с разбором документа

У меня возникли проблемы с компиляцией для 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

Я пробовал, но тоже не работает.


person Netwave    schedule 13.09.2013    source источник


Ответы (1)


Ошибка говорит вам, что делать: use -fexceptions to enable.

Вы бы добавили это в свой Android.mk, APP_CPPFLAGS += -fexceptions -frtti.

Кроме того, ваш код неверен. Измените свой код на doc.parse<0>(&buffer[0]);. c_str() возвращает указатель на символ const, который нельзя изменить, однако parse изменяет содержимое, поэтому вам необходимо передать базовый буфер.

person Jesse Good    schedule 13.09.2013
comment
не работает ... он продолжает возвращать эту ошибку, все равно спасибо :) - person Netwave; 13.09.2013
comment
@DanielSanchez: я обновил свой ответ. У вас есть две проблемы: 1) у вас не включены исключения и 2) ваш код пытается изменить постоянную память. - person Jesse Good; 13.09.2013
comment
Скомпилировано!!! Спасибо, это был флаг.... вы спасли мой день, каждый раз, когда вы приезжали в Мадрид... пришлите мне сообщение, у вас есть бесплатное пиво :) - person Netwave; 13.09.2013