会出现类似错误:
c:\temp\luabind\src\ref.cpp(95) : error C2062: type 'void' unexpected
c:\temp\luabind\src\ref.cpp(96) : error C2143: syntax error : missing ';' before '{'
c:\temp\luabind\src\ref.cpp(96) : error C2447: '{' : missing function header (old-style formal list?)
c:\temp\luabind\src\ref.cpp(113) : error C2062: type 'int' unexpected
c:\temp\luabind\src\ref.cpp(114) : error C2143: syntax error : missing ';' before '{'
c:\temp\luabind\src\ref.cpp(114) : error C2447: '{' : missing function header (old-style formal list?)
c:\temp\luabind\src\ref.cpp(153) : error C2589: '(' : illegal token on right side of '::'
c:\temp\luabind\src\ref.cpp(153) : error C2059: syntax error : '::'
c:\temp\luabind\src\ref.cpp(157) : error C2589: '(' : illegal token on right side of '::'
需要打开luaconf.h,找到322行:
#undef LUA_COMPAT_GETN
替换成:
#define LUA_COMPAT_GETN
即可解决。
另外需要注意的是,编译时字符集选择不要选择Unicode,选择多字符集貌似是不错的。