У меня возникла очень странная проблема при попытке запустить RapidXml 1.13 под Windows CE 6.0, скомпилированной с Visual Studio 2005. У меня очень маленькая программа, которая не запускается:
#include <rapidxml.hpp>
using namespace rapidxml;
int _tmain(int argc, _TCHAR* argv[])
{
xml_document<char> doc;
return 0;
}
Прекрасно компилируется с 0 ошибками и 0 предупреждениями (на W3). Однако, когда я запускаю или отлаживаю программу, я получаю исключение нарушения прав доступа:
Исключение первого шанса в 0x000110d4 в RapidXml_Test.exe:
0xC0000005: Место записи нарушения прав доступа 0x0001fb48.
Затем отладчик указывает на эту строку (1366 в rapidxml.hpp) как на виновника (открытая скобка):
template<class Ch = char>
class xml_document: public xml_node<Ch>, public memory_pool<Ch>
{
public:
//! Constructs empty XML document
xml_document()
: xml_node<Ch>(node_document)
------->{
}
...
Если у кого-то есть какие-либо подсказки, в чем может быть проблема, я буду очень признателен. У меня гораздо более сложный код, работающий в моей среде сборки и выполнения, поэтому я ничего не подозреваю там. Я также довольно уверен, что это не настройка проекта. Я предполагаю, что использование шаблонов RapidXml каким-то образом сбивает с толку компилятор Windows CE VC ++. Я не знаю, что еще это может быть.
Заранее спасибо!