因此,我正在尝试在Windows中编译Gwen,以便与我即将到来的项目一起使用。我从Garry的GitHub下载了源代码,并按照他的指示构建编译,然后将其导入Code::Blocks进行编译。我导入.cbp文件,开始编译,几分钟后我得到:
错误:未在此作用域中声明"_asm"。
该错误来自包含#ifdef_WIN32的行之后的一些代码。
确切的文件:gwen.cpp,第49行。
更多信息:操作系统:Windows 7 64位。编译器:MinGW 4.7.2(MinGW32)的最新gcc
我认为这是因为MinGW不理解汇编程序,对于那个编译器应该是asm
。我认为这是使用_WIN32
而不是WIN32
造成的。前者是平台,后者是API。
尝试将其更改为:
void AssertCheck(bool b, const char* strMsg)
{
if (!b)
{
Msg("Assert: %sn", strMsg);
#ifdef WIN32
MessageBoxA(NULL, strMsg, "Assert", MB_ICONEXCLAMATION|MB_OK);
_asm { int 3 }
#endif
}
}
编辑:或者你可以试试Gwork,它是GWEN的一个整理版本。