WTL向导生成的Dialog工程,使用了boost后,Release编译不了
环境是VS2008+windowsXPsp3+boost1.39,WTL向导生成的基本模态对话框的工程,只要一include<boost/thread.hpp>,生成Release版本时就会提示一百多个错误,生成DEBUG没有问题:
1>D:\Project\Boost\boost/function/function_template.hpp(80) : error C2143: 语法错误 : 缺少“;”(在“namespace”的前面)
1>D:\Project\Boost\boost/function/function_template.hpp(980) : error C2838: “()”: 成员声明中的非法限定名
1> D:\Project\Boost\boost/function/function_template.hpp(80): 参见对正在编译的类 模板 实例化“boost::function0<R>”的引用
1>D:\Project\Boost\boost/function/function_template.hpp(995) : error C2804: 二进制“operator ==”的参数太多
1>D:\Project\Boost\boost/function/function_template.hpp(1002) : error C2804: 二进制“operator !=”的参数太多
1>D:\Project\Boost\boost/function/function_template.hpp(1098) : error C2764: “R”: 部分专用化“boost::function<R(void)>”中未使用或不能推导出的模板参数
1>D:\Project\Boost\boost/function/function_template.hpp(1098) : error C3412: “boost::function<R(void)>”: 不能在当前范围内专用化模板
1>D:\Project\Boost\boost/function/function_template.hpp(90) : error C2061: 语法错误 : 标识符“function_buffer”
1> D:\Project\Boost\boost/function/function_template.hpp(96): 参见对正在编译的类 模板 实例化“boost::boost::detail::function::function_invoker1<FunctionPtr,R,T0>”的引用
1>D:\Project\Boost\boost/function/function_template.hpp(106) : error C2061: 语法错误 : 标识符“function_buffer”
1> D:\Project\Boost\boost/function/function_template.hpp(113): 参见对正在编译的类 模板 实例化“boost::boost::detail::function::void_function_invoker1<FunctionPtr,R,T0>”的引用
1>D:\Project\Boost\boost/function/function_template.hpp(122) : error C2061: 语法错误 : 标识符“function_buffer”
。
。
。
。
我想应该是环境的问题,请问有谁遇到过并解决吗?