◀ANSI版開発トップへ
  • 2306 コンパイルエラー(2002-09-12)
    • 2308 Re: コンパイルエラー(2002-09-12)
  • [2306] コンパイルエラー(2002-09-12) かろと 2002年09月18日 03:39

    こんばんは かろとです。初投稿です。

    WinME + VC++ Ver6 SP5 + Microsoft SDK
    という環境で、
    ダウンロードしてきた ssrc_2002-09-12 をコンパイルかけたのですが、

    CEditView.h の
    RECONVERTSTRING
    が再定義されているとエラーになってしまいます。
    見てみると、imm.hに同じ定義があります。
    typedef なので、 #ifndef では外せていないと思われます。
    本家の imm.h では WINVER >= 0x040A でのみ typedef するようですので、
    以下のように、逃げましたが、本来はどうすれば良いのでしょうか?


    #ifndef RECONVERTSTRING
    #if (WINVER < 0x040A)
    typedef struct tagRECONVERTSTRING {
    DWORD dwSize;
    DWORD dwVersion;
    DWORD dwStrLen;
    DWORD dwStrOffset;
    DWORD dwCompStrLen;
    DWORD dwCompStrOffset;
    DWORD dwTargetStrLen;
    DWORD dwTargetStrOffset;
    } RECONVERTSTRING, *PRECONVERTSTRING;
    #endif /* WINVER >= 0x040A */
    #endif // RECONVERTSTRING
    • [2308] Re: コンパイルエラー(2002-09-12) げんた 2002年09月18日 09:35

      Visual C++ 6 SP3 on Windows 2kでは問題は出ておりませんので,MS SDKを入れた場合のみ問題が起こるのかもしれません.

      >本家の imm.h では WINVER >= 0x040A でのみ typedef するようですので、

      #if !defined(RECONVERTSTRING) && (WINVER < 0x040A)

      としてみました.特に問題はなさそうなので,変更しておきます.