私の問題は、XercesとWindowsの両方にオブ'DOMDocument'
ジェクトがあることです。Xercesと私がここで読んだほぼすべてのものは、こことここで名前空間を定義するDOMDocument
か、このように見えるはずの定義を解除することを提案しています。
Void foo(XERCES_CPP_NAMESPACE::DOMDocument* pDocument);
また
#undef DOMDocument
#include <xerces/Stuff>
正気のルートに行き、名前空間を適用したかったのですが、うまくいかないようです。#undef
問題をハッキングしているような感じのを使用するのは本当に躊躇しています。
Windowsファイルmsxml.h
は、再定義について不平を言っているファイルです。
これは、ロードされる順序と関係がありますか?私はこのようなものを持っています、
#include <stdio.h>
#include <iostream>
#include <fstream>
#include <sstream>
#include <vector>
#include <list>
#include <map>
#include <ctime>
#include "XMLClass.h"
xercesXMLClass.h
ヘッダーが含まれています。エラーがMicrosoftヘッダーに表示されるため、問題の原因を特定するのは非常に困難です。
'DOMDocument'
また、プロジェクト全体で検索しました'DOMDocument'
が、使用するすべての場所に名前空間がありXERCES_CPP_NAMESPACE
ます。
注:私はxerces3.1とVS2010を使用しています。
アイデア?
更新:#undef
xercesヘッダーを追加する前に
試しましたが、まだエラーが発生します。ですから、なぜ両方のソリューションがうまく機能しないのか、私は本当に迷っています。
更新2:XERCES_CPP_NAMESPACE::DOMDocument
名前空間をからに
変更しようとしましxercesc::DOMDocument
たが、これは役に立ちませんでした。