0

そのため、私は、今後のプロジェクトで使用するために、Windows で Gwen をコンパイルしようとしています。ソースを Garry の GitHub からダウンロードし、彼の指示に従ってコンパイルをビルドしてから、それを Code::Blocks にインポートしてコンパイルしました。.cbp ファイルをインポートしてコンパイルを開始すると、数分後に次のようになります。

エラー: '_asm' はこのスコープで宣言されていません。

このエラーは、#ifdef _WIN32 を含む行の後のコードから発生します。

正確なファイル: gwen.cpp、49 行目。

詳細: OS: Windows 7 64 ビット。コンパイラ: MinGW の最新の gcc、4.7.2 (MinGW32)

4

1 に答える 1

0

asmMinGW がアセンブラを理解していないためだと思います。そのコンパイラのはずです。_WIN32代わりに を使っていることが原因だと思いますWIN32。前者がプラットフォームで後者がAPIです。

次のように変更してみてください。

    void AssertCheck(bool b, const char* strMsg)
    {
        if (!b)
        {
            Msg("Assert: %s\n", strMsg);
#ifdef WIN32
            MessageBoxA(NULL, strMsg, "Assert", MB_ICONEXCLAMATION|MB_OK);
            _asm { int 3 }
#endif
        }
    }

編集: または、GWEN の整頓されたバージョンであるGworkを試すこともできます。

于 2013-02-26T16:54:20.317 に答える