Buch {l Wrote}:It can't compile under VC, you said? Could you please post the error message(s) you get?
And coming to the many retries, do you think levels should be made easier?
Sorry, but the error messages are in Chinese
- {l Code}: {l Select All Code}
1>------ 已启动生成: 项目: physica, 配置: Debug Win32 ------
1>正在编译...
1>physica.cpp
1>f:\projects\physica\src\bulk_console.h(42) : warning C4018: “<”: 有符号/无符号不匹配
1>d:\program files\microsoft visual studio 9.0\vc\include\deque(518) : error C2027: 使用了未定义类型“object”
1> f:\projects\physica\src\bulk_script.h(93) : 参见“object”的声明
1> f:\projects\physica\src\bulk_script.h(99): 参见对正在编译的类 模板 实例化“std::deque<_Ty>”的引用
1> with
1> [
1> _Ty=object
1> ]
1>d:\program files\microsoft visual studio 9.0\vc\include\deque(518) : error C2027: 使用了未定义类型“object”
1> f:\projects\physica\src\bulk_script.h(93) : 参见“object”的声明
1>d:\program files\microsoft visual studio 9.0\vc\include\deque(518) : error C2027: 使用了未定义类型“object”
1> f:\projects\physica\src\bulk_script.h(93) : 参见“object”的声明
1>d:\program files\microsoft visual studio 9.0\vc\include\deque(518) : error C2027: 使用了未定义类型“object”
1> f:\projects\physica\src\bulk_script.h(93) : 参见“object”的声明
1>d:\program files\microsoft visual studio 9.0\vc\include\deque(519) : error C2027: 使用了未定义类型“object”
1> f:\projects\physica\src\bulk_script.h(93) : 参见“object”的声明
1>d:\program files\microsoft visual studio 9.0\vc\include\deque(519) : error C2027: 使用了未定义类型“object”
1> f:\projects\physica\src\bulk_script.h(93) : 参见“object”的声明
1>d:\program files\microsoft visual studio 9.0\vc\include\deque(519) : error C2027: 使用了未定义类型“object”
1> f:\projects\physica\src\bulk_script.h(93) : 参见“object”的声明
1>d:\program files\microsoft visual studio 9.0\vc\include\deque(519) : error C2027: 使用了未定义类型“object”
1> f:\projects\physica\src\bulk_script.h(93) : 参见“object”的声明
1>f:\projects\physica\src\bulk_expr.h(144) : warning C4129: “%”: 不可识别的字符转义序列
1>f:\projects\physica\src\bulk_expr.h(171) : warning C4129: “%”: 不可识别的字符转义序列
1>f:\projects\physica\src\bulk.h(84) : warning C4018: “<”: 有符号/无符号不匹配
1>f:\projects\physica\src\bulk_image.h(367) : warning C4800: “int”: 将值强制为布尔值“true”或“false”(性能警告)
1>f:\projects\physica\src\bulk_ui.h(55) : error C2668: “floor”: 对重载函数的调用不明确
1> d:\program files\microsoft visual studio 9.0\vc\include\math.h(559): 可能是“long double floor(long double)”
1> d:\program files\microsoft visual studio 9.0\vc\include\math.h(511): 或 “float floor(float)”
1> d:\program files\microsoft visual studio 9.0\vc\include\math.h(137): 或 “double floor(double)”
1> 试图匹配参数列表“(int)”时
1>f:\projects\physica\src\bulk_ui.h(55) : error C2668: “floor”: 对重载函数的调用不明确
1> d:\program files\microsoft visual studio 9.0\vc\include\math.h(559): 可能是“long double floor(long double)”
1> d:\program files\microsoft visual studio 9.0\vc\include\math.h(511): 或 “float floor(float)”
1> d:\program files\microsoft visual studio 9.0\vc\include\math.h(137): 或 “double floor(double)”
1> 试图匹配参数列表“(int)”时
1>f:\projects\physica\src\bulk_ui.h(55) : error C2668: “floor”: 对重载函数的调用不明确
1> d:\program files\microsoft visual studio 9.0\vc\include\math.h(559): 可能是“long double floor(long double)”
1> d:\program files\microsoft visual studio 9.0\vc\include\math.h(511): 或 “float floor(float)”
1> d:\program files\microsoft visual studio 9.0\vc\include\math.h(137): 或 “double floor(double)”
1> 试图匹配参数列表“(int)”时
1>f:\projects\physica\src\bulk_ui.h(56) : error C2668: “floor”: 对重载函数的调用不明确
1> d:\program files\microsoft visual studio 9.0\vc\include\math.h(559): 可能是“long double floor(long double)”
1> d:\program files\microsoft visual studio 9.0\vc\include\math.h(511): 或 “float floor(float)”
1> d:\program files\microsoft visual studio 9.0\vc\include\math.h(137): 或 “double floor(double)”
1> 试图匹配参数列表“(int)”时
1>f:\projects\physica\src\bulk_ui.h(56) : error C2668: “floor”: 对重载函数的调用不明确
1> d:\program files\microsoft visual studio 9.0\vc\include\math.h(559): 可能是“long double floor(long double)”
1> d:\program files\microsoft visual studio 9.0\vc\include\math.h(511): 或 “float floor(float)”
1> d:\program files\microsoft visual studio 9.0\vc\include\math.h(137): 或 “double floor(double)”
1> 试图匹配参数列表“(int)”时
1>f:\projects\physica\src\bulk_ui.h(56) : error C2668: “floor”: 对重载函数的调用不明确
1> d:\program files\microsoft visual studio 9.0\vc\include\math.h(559): 可能是“long double floor(long double)”
1> d:\program files\microsoft visual studio 9.0\vc\include\math.h(511): 或 “float floor(float)”
1> d:\program files\microsoft visual studio 9.0\vc\include\math.h(137): 或 “double floor(double)”
1> 试图匹配参数列表“(int)”时
1>f:\projects\physica\src\bulk_ui.h(57) : error C2668: “floor”: 对重载函数的调用不明确
1> d:\program files\microsoft visual studio 9.0\vc\include\math.h(559): 可能是“long double floor(long double)”
1> d:\program files\microsoft visual studio 9.0\vc\include\math.h(511): 或 “float floor(float)”
1> d:\program files\microsoft visual studio 9.0\vc\include\math.h(137): 或 “double floor(double)”
1> 试图匹配参数列表“(int)”时
1>f:\projects\physica\src\bulk_ui.h(57) : error C2668: “floor”: 对重载函数的调用不明确
1> d:\program files\microsoft visual studio 9.0\vc\include\math.h(559): 可能是“long double floor(long double)”
1> d:\program files\microsoft visual studio 9.0\vc\include\math.h(511): 或 “float floor(float)”
1> d:\program files\microsoft visual studio 9.0\vc\include\math.h(137): 或 “double floor(double)”
1> 试图匹配参数列表“(int)”时
1>f:\projects\physica\src\bulk_ui.h(57) : error C2668: “floor”: 对重载函数的调用不明确
1> d:\program files\microsoft visual studio 9.0\vc\include\math.h(559): 可能是“long double floor(long double)”
1> d:\program files\microsoft visual studio 9.0\vc\include\math.h(511): 或 “float floor(float)”
1> d:\program files\microsoft visual studio 9.0\vc\include\math.h(137): 或 “double floor(double)”
1> 试图匹配参数列表“(int)”时
1>f:\projects\physica\src\bulk_ui.h(79) : error C2059: 语法错误 : “{”
1>f:\projects\physica\src\bulk_ui.h(79) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>f:\projects\physica\src\bulk_ui.h(79) : error C2143: 语法错误 : 缺少“;”(在“}”的前面)
1>f:\projects\physica\src\bulk_ui.h(299) : error C2958: 左 圆括号“(”(在“f:\projects\physica\src\bulk_ui.h(296)”中找到)未能正确匹配
1>f:\projects\physica\src\bulk_ui.h(299) : error C2059: 语法错误 : “)”
1>f:\projects\physica\src\bulk_ui.h(301) : error C2059: 语法错误 : “if”
1>f:\projects\physica\src\bulk_ui.h(302) : error C2143: 语法错误 : 缺少“)”(在“;”的前面)
1>f:\projects\physica\src\bulk_ui.h(302) : error C2238: 意外的标记位于“;”之前
1>f:\projects\physica\src\bulk_ui.h(302) : error C2143: 语法错误 : 缺少“;”(在“<”的前面)
1>f:\projects\physica\src\bulk_ui.h(302) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>f:\projects\physica\src\bulk_ui.h(302) : error C2238: 意外的标记位于“;”之前
1>f:\projects\physica\src\bulk_ui.h(302) : error C2143: 语法错误 : 缺少“;”(在“+=”的前面)
1>f:\projects\physica\src\bulk_ui.h(302) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>f:\projects\physica\src\bulk_ui.h(302) : error C2059: 语法错误 : “)”
1>f:\projects\physica\src\bulk_ui.h(303) : error C2143: 语法错误 : 缺少“)”(在“;”的前面)
1>f:\projects\physica\src\bulk_ui.h(303) : error C2238: 意外的标记位于“;”之前
1>f:\projects\physica\src\bulk_ui.h(303) : error C2143: 语法错误 : 缺少“;”(在“<”的前面)
1>f:\projects\physica\src\bulk_ui.h(303) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>f:\projects\physica\src\bulk_ui.h(303) : error C2238: 意外的标记位于“;”之前
1>f:\projects\physica\src\bulk_ui.h(303) : error C2143: 语法错误 : 缺少“;”(在“+=”的前面)
1>f:\projects\physica\src\bulk_ui.h(303) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>f:\projects\physica\src\bulk_ui.h(303) : error C2059: 语法错误 : “)”
1>f:\projects\physica\src\bulk_ui.h(304) : error C2238: 意外的标记位于“;”之前
1>f:\projects\physica\src\bulk_ui.h(306) : error C2061: 语法错误 : 标识符“target”
1>f:\projects\physica\src\bulk_ui.h(306) : error C2143: 语法错误 : 缺少“)”(在“{”的前面)
1>f:\projects\physica\src\bulk_ui.h(306) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>f:\projects\physica\src\bulk_ui.h(309) : warning C4183: “SDL_SetClipRect”: 缺少返回类型;假定为返回“int”的成员函数
1>f:\projects\physica\src\bulk_ui.h(309) : error C2059: 语法错误 : “)”
1>f:\projects\physica\src\bulk_ui.h(312) : error C2059: 语法错误 : “if”
1>f:\projects\physica\src\bulk_ui.h(313) : error C2143: 语法错误 : 缺少“)”(在“;”的前面)
1>f:\projects\physica\src\bulk_ui.h(313) : error C2238: 意外的标记位于“;”之前
1>f:\projects\physica\src\bulk_ui.h(313) : error C2143: 语法错误 : 缺少“;”(在“<”的前面)
1>f:\projects\physica\src\bulk_ui.h(313) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>f:\projects\physica\src\bulk_ui.h(313) : error C2238: 意外的标记位于“;”之前
1>f:\projects\physica\src\bulk_ui.h(313) : error C2143: 语法错误 : 缺少“;”(在“+=”的前面)
1>f:\projects\physica\src\bulk_ui.h(313) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>f:\projects\physica\src\bulk_ui.h(313) : error C2059: 语法错误 : “)”
1>f:\projects\physica\src\bulk_ui.h(314) : error C2238: 意外的标记位于“;”之前
1>f:\projects\physica\src\bulk_ui.h(317) : error C2059: 语法错误 : “if”
1>f:\projects\physica\src\bulk_ui.h(318) : error C2143: 语法错误 : 缺少“)”(在“;”的前面)
1>f:\projects\physica\src\bulk_ui.h(318) : error C2238: 意外的标记位于“;”之前
1>f:\projects\physica\src\bulk_ui.h(318) : error C2143: 语法错误 : 缺少“;”(在“<”的前面)
1>f:\projects\physica\src\bulk_ui.h(318) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>f:\projects\physica\src\bulk_ui.h(318) : error C2238: 意外的标记位于“;”之前
1>f:\projects\physica\src\bulk_ui.h(318) : error C2143: 语法错误 : 缺少“;”(在“+=”的前面)
1>f:\projects\physica\src\bulk_ui.h(318) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>f:\projects\physica\src\bulk_ui.h(318) : error C2059: 语法错误 : “)”
1>f:\projects\physica\src\bulk_ui.h(319) : error C2238: 意外的标记位于“;”之前
1>f:\projects\physica\src\bulk_ui.h(321) : error C2061: 语法错误 : 标识符“target”
1>f:\projects\physica\src\bulk_ui.h(321) : error C2143: 语法错误 : 缺少“)”(在“{”的前面)
1>f:\projects\physica\src\bulk_ui.h(321) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>f:\projects\physica\src\bulk_ui.h(321) : error C2535: “int theme::SDL_SetClipRect(void)”: 已经定义或声明成员函数
1> f:\projects\physica\src\bulk_ui.h(306) : 参见“theme::SDL_SetClipRect”的声明
1>f:\projects\physica\src\bulk_ui.h(324) : warning C4183: “SDL_SetClipRect”: 缺少返回类型;假定为返回“int”的成员函数
1>f:\projects\physica\src\bulk_ui.h(324) : error C2059: 语法错误 : “)”
1>f:\projects\physica\src\bulk_ui.h(327) : error C2059: 语法错误 : “if”
1>f:\projects\physica\src\bulk_ui.h(328) : error C2143: 语法错误 : 缺少“)”(在“;”的前面)
1>f:\projects\physica\src\bulk_ui.h(328) : error C2238: 意外的标记位于“;”之前
1>f:\projects\physica\src\bulk_ui.h(328) : error C2143: 语法错误 : 缺少“;”(在“<”的前面)
1>f:\projects\physica\src\bulk_ui.h(328) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>f:\projects\physica\src\bulk_ui.h(328) : error C2238: 意外的标记位于“;”之前
1>f:\projects\physica\src\bulk_ui.h(328) : error C2143: 语法错误 : 缺少“;”(在“+=”的前面)
1>f:\projects\physica\src\bulk_ui.h(328) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>f:\projects\physica\src\bulk_ui.h(328) : error C2059: 语法错误 : “)”
1>f:\projects\physica\src\bulk_ui.h(329) : error C2238: 意外的标记位于“;”之前
1>f:\projects\physica\src\bulk_ui.h(332) : error C2059: 语法错误 : “if”
1>f:\projects\physica\src\bulk_ui.h(333) : error C2143: 语法错误 : 缺少“)”(在“;”的前面)
1>f:\projects\physica\src\bulk_ui.h(333) : error C2238: 意外的标记位于“;”之前
1>f:\projects\physica\src\bulk_ui.h(333) : error C2143: 语法错误 : 缺少“;”(在“<”的前面)
1>f:\projects\physica\src\bulk_ui.h(333) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>f:\projects\physica\src\bulk_ui.h(333) : error C2238: 意外的标记位于“;”之前
1>f:\projects\physica\src\bulk_ui.h(333) : error C2143: 语法错误 : 缺少“;”(在“+=”的前面)
1>f:\projects\physica\src\bulk_ui.h(333) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>f:\projects\physica\src\bulk_ui.h(333) : error C2059: 语法错误 : “)”
1>f:\projects\physica\src\bulk_ui.h(334) : error C2238: 意外的标记位于“;”之前
1>f:\projects\physica\src\bulk_ui.h(336) : error C2061: 语法错误 : 标识符“target”
1>f:\projects\physica\src\bulk_ui.h(336) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>f:\projects\physica\src\bulk_ui.h(336) : error C2535: “int theme::SDL_SetClipRect(void)”: 已经定义或声明成员函数
1> f:\projects\physica\src\bulk_ui.h(306) : 参见“theme::SDL_SetClipRect”的声明
1>f:\projects\physica\src\bulk_ui.h(336) : warning C4183: “SDL_SetClipRect”: 缺少返回类型;假定为返回“int”的成员函数
1>f:\projects\physica\src\bulk_ui.h(339) : error C2059: 语法错误 : “if”
1>f:\projects\physica\src\bulk_ui.h(339) : error C2238: 意外的标记位于“;”之前
1>f:\projects\physica\src\bulk_ui.h(340) : error C2059: 语法错误 : “if”
1>f:\projects\physica\src\bulk_ui.h(340) : error C2238: 意外的标记位于“;”之前
1>f:\projects\physica\src\bulk_ui.h(341) : error C2059: 语法错误 : “if”
1>f:\projects\physica\src\bulk_ui.h(341) : error C2238: 意外的标记位于“;”之前
1>f:\projects\physica\src\bulk_ui.h(342) : error C2059: 语法错误 : “if”
1>f:\projects\physica\src\bulk_ui.h(342) : error C2238: 意外的标记位于“;”之前
1>f:\projects\physica\src\bulk_ui.h(345) : error C2059: 语法错误 : “for”
1>f:\projects\physica\src\bulk_ui.h(345) : error C2143: 语法错误 : 缺少“)”(在“;”的前面)
1>f:\projects\physica\src\bulk_ui.h(345) : error C2238: 意外的标记位于“;”之前
1>f:\projects\physica\src\bulk_ui.h(345) : error C2143: 语法错误 : 缺少“;”(在“!=”的前面)
1>f:\projects\physica\src\bulk_ui.h(345) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>f:\projects\physica\src\bulk_ui.h(345) : error C2238: 意外的标记位于“;”之前
1>f:\projects\physica\src\bulk_ui.h(345) : error C2143: 语法错误 : 缺少“;”(在“++”的前面)
1>f:\projects\physica\src\bulk_ui.h(345) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>f:\projects\physica\src\bulk_ui.h(345) : error C2059: 语法错误 : “)”
1>f:\projects\physica\src\bulk_ui.h(345) : error C2334: “{”的前面有意外标记;跳过明显的函数体
1>f:\projects\physica\src\bulk_ui.h(361) : error C2143: 语法错误 : 缺少“;”(在“}”的前面)
1>f:\projects\physica\src\bulk_ui.h(361) : error C2059: 语法错误 : “}”
1>f:\projects\physica\src\bulk_ui.h(361) : error C2143: 语法错误 : 缺少“;”(在“}”的前面)
1>f:\projects\physica\src\bulk_ui.h(296) : error C2143: 语法错误 : 缺少“)”(在“{”的前面)
1>f:\projects\physica\src\bulk_ui.h(296) : error C2275: “SDL_Rect”: 将此类型用作表达式非法
1> f:\projects\meandmyshadow\sdl\sdl_video.h(50) : 参见“SDL_Rect”的声明
1>f:\projects\physica\src\bulk_ui.h(296) : error C2275: “SDL_Rect”: 将此类型用作表达式非法
1> f:\projects\meandmyshadow\sdl\sdl_video.h(50) : 参见“SDL_Rect”的声明
1>f:\projects\physica\src\bulk_ui.h(296) : error C2660: “theme::SDL_SetClipRect”: 函数不接受 2 个参数
1>f:\projects\physica\src\bulk_ui.h(296) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>f:\projects\physica\src\bulk_ui.h(296) : fatal error C1003: 错误计数超过 100;正在停止编译
1>生成日志保存在“file://f:\Projects\physica\Debug\BuildLog.htm”
1>physica - 119 个错误,8 个警告
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
Briefly, there are only 3 errors: The first one is 'deque<object>' in 'object' class, incompatible with MSVC2008 STL, the compiler complains about unknown size of 'object' class, which I think that it must be a bug in MSVC STL implementation

The second one is that MSVC doesn't support fancy structure initializer, like 'color = {255,255,255};' and 'SDL_SetClipRect (target, & SDL_Rect { rect.x + ..., blah blah blah...'

The third one is the compiler complains about unknown function overload of 'floor' and other floating-point processing function, in fact your code 'floor((c.r % 1000) / 100)' is wrong because '(c.r % 1000) / 100' is already an integer
