0

所以,我正在尝试在 Windows 中编译 Gwen,以用于我即将推出的项目。我从 Garry 的 GitHub 下载了源代码,并按照他的说明构建编译,然后将其导入 Code::Blocks 进行编译。我导入 .cbp 文件,开始编译,几分钟后我得到:

错误:未在此范围内声明“_asm”。

该错误来自包含#ifdef _WIN32 的行之后的一些代码。

确切文件:gwen.cpp,第 49 行。

更多信息:操作系统:Windows 7 64 位。编译器:来自 MinGW 的最新 gcc,4.7.2 (MinGW32)

4

1 回答 1

0

我认为这是因为 MinGW 不理解汇编程序,它应该是asm针对那个编译器的。我认为这是使用_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
        }
    }

编辑:或者,您可以尝试Gwork,这是 GWEN 的整理版本。

于 2013-02-26T16:54:20.317 回答