Visual Studio 2005로 컴파일 된 Windows CE 6.0에서 RapidXml 1.13을 실행하려고하면 매우 이상한 문제가 발생합니다. 실행하려면 :Windows CE 6.0/Windows Mobile/Windows Embedded Compact에서 RapidXml을 사용하는 이상한 예외
#include <rapidxml.hpp>
using namespace rapidxml;
int _tmain(int argc, _TCHAR* argv[])
{
xml_document<char> doc;
return 0;
}
0 오류 및 0 경고 (W3에서)로 잘 컴파일됩니다. RapidXml_Test.exe에서 0x000110d4에서
첫 번째 예외 : 가 0xc0000005 : 액세스 위반 쓰기 위치 0x0001fb48 내가 실행하거나 프로그램을 디버깅 할 때 그러나, 나는 액세스 위반 예외를 얻을.
디버거는 다음 원인으로이 라인 (rapidxml.hpp에서 1366) (열린 중괄호)를 가리키는
가 :
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++ 컴파일러를 혼란스럽게합니다. 나는 그 밖에 무엇이 될 수 있는지 모른다.
미리 감사드립니다.
도'xml_document <> doc;'faile (기본값은'char')입니까? 어때?'xml_document doc;'? CE는 유니 코드로 많이 편향되어 있으므로 템플릿의 내용이 어딘가에 확장 될지 궁금합니다. –
ctacke
그럴 수 있습니다. 나는 그것을 알아. 업데이트 된 질문. 감사! –