PlatformSDK + MSXML4 – プログラミング – Home

通知
すべてクリア

[解決済] PlatformSDK + MSXML4


いろは
 いろは
(@いろは)
ゲスト
結合: 21年前
投稿: 43
Topic starter  

いろはです。早速ですが…

PlatformSDK+MSXML4SP2でコンパイルエラーが出るようになってしまいました。
(VC6+SP5 MFC使用)
PlatformSDKを使用しないとコンパイルエラーは出ません。
エラーの内容は
error C2872: 'IXMLDOMNode' : あいまいなシンボル
です。

----- ソース抜粋XXXX.h(ドキュメントクラスヘッダー) -----
#import msxml4.dll named_guids raw_interfaces_only
using namespace MSXML2;

class XXXX : public CDocument
{
void YYYY( IXMLDOMNode* pNode ); // メンバ関数
};

PlatformSDKの使用法が間違っているのでしょうか?
PlatformSDKは2003年2月版をインストールしました。
PlatformSDKをインストール後、スタートメニューから
Register PSDK Directories with Visual Studio
を実行しました。Registerすると、上記ソースがエラーになり、
Unregisterすると正常にコンパイルされます。

以上、よろしくお願いします。


引用未解決
トピックタグ
渋木宏明(ひどり)
 渋木宏明(ひどり)
(@渋木宏明(ひどり))
ゲスト
結合: 21年前
投稿: 33
 

>error C2872: 'IXMLDOMNode' : あいまいなシンボル

>#import msxml4.dll named_guids raw_interfaces_only
>using namespace MSXML2;

と、Platform SDK にある IXMLDOMNode の定義が被ってるんじゃないですか?

>using namespace MSXML2;

をやめて

>void YYYY( IXMLDOMNode* pNode ); // メンバ関数

void YYYY( MSXML2::IXMLDOMNode* pNode ); // メンバ関数

としても、変化はありませんか?


返信引用
いろは
 いろは
(@いろは)
ゲスト
結合: 21年前
投稿: 43
Topic starter  

渋木様、回答ありがとうございます。

>>using namespace MSXML2;
>
>をやめて
>
>>void YYYY( IXMLDOMNode* pNode ); // メンバ関数
>
>void YYYY( MSXML2::IXMLDOMNode* pNode ); // メンバ関数
>
>としても、変化はありませんか?

変化はありました。ソースの方もMSXML2::***とする事でビルドできました。
namespaceを使用しなければ、良いのだろうと言うことは予想していたのですが、
すべてを修正するとなると、気が遠くなる…
(いくつかのプロジェクトで修正を加える必要があるので)
ということで、質問していたのです。

地道に修正する事にいたします。

ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました