Hi,

the following simplest test code does not compile with Visual C++ 2012:

#include <boost/coroutine/all.hpp>

typedef boost::coroutines::coroutine<int()> Coro;

void coroFunc(Coro::caller_type& co)
{

}
int main()
{
  Coro c(coroFunc);
}

giving:

1>------ Build started: Project: coro_testbed, Configuration: Debug Win32 ------
1>main.obj : error LNK2019: unresolved external symbol "public: static unsigned int __cdecl boost::coroutines::detail::standard_stack_allocator::default_stacksize(void)" (?default_stacksize@standard_stack_allocator@detail@coroutines@boost@@SAIXZ) referenced in function "public: __thiscall boost::coroutines::attributes::attributes(void)" (??0attributes@coroutines@boost@@QAE@XZ)
1>main.obj : error LNK2019: unresolved external symbol "public: void __thiscall boost::coroutines::detail::standard_stack_allocator::allocate(struct boost::coroutines::stack_context &,unsigned int)" (?allocate@standard_stack_allocator@detail@coroutines@boost@@QAEXAAUstack_context@34@I@Z) referenced in function "public: __thiscall boost::coroutines::detail::stack_tuple<class boost::coroutines::detail::standard_stack_allocator>::stack_tuple<class boost::coroutines::detail::standard_stack_allocator>(class boost::coroutines::detail::standard_stack_allocator const &,unsigned int)" (??0?$stack_tuple@Vstandard_stack_allocator@detail@coroutines@boost@@@detail@coroutines@boost@@QAE@ABVstandard_stack_allocator@123@I@Z)
1>main.obj : error LNK2019: unresolved external symbol "public: void __thiscall boost::coroutines::detail::standard_stack_allocator::deallocate(struct boost::coroutines::stack_context &)" (?deallocate@standard_stack_allocator@detail@coroutines@boost@@QAEXAAUstack_context@34@@Z) referenced in function "public: __thiscall boost::coroutines::detail::stack_tuple<class boost::coroutines::detail::standard_stack_allocator>::~stack_tuple<class boost::coroutines::detail::standard_stack_allocator>(void)" (??1?$stack_tuple@Vstandard_stack_allocator@detail@coroutines@boost@@@detail@coroutines@boost@@QAE@XZ)
1>main.obj : error LNK2019: unresolved external symbol "public: __thiscall boost::coroutines::detail::coroutine_context::coroutine_context(void)" (??0coroutine_context@detail@coroutines@boost@@QAE@XZ) referenced in function "public: __thiscall boost::coroutines::detail::coroutine_base<int __cdecl(void)>::coroutine_base<int __cdecl(void)>(void (__cdecl*)(int),struct boost::coroutines::stack_context *,bool,bool)" (??0?$coroutine_base@$$A6AHXZ@detail@coroutines@boost@@QAE@P6AXH@ZPAUstack_context@23@_N2@Z)
1>main.obj : error LNK2019: unresolved external symbol "public: __thiscall boost::coroutines::detail::coroutine_context::coroutine_context(void (__cdecl*)(int),struct boost::coroutines::stack_context *)" (??0coroutine_context@detail@coroutines@boost@@QAE@P6AXH@ZPAUstack_context@23@@Z) referenced in function "public: __thiscall boost::coroutines::detail::coroutine_base<int __cdecl(void)>::coroutine_base<int __cdecl(void)>(void (__cdecl*)(int),struct boost::coroutines::stack_context *,bool,bool)" (??0?$coroutine_base@$$A6AHXZ@detail@coroutines@boost@@QAE@P6AXH@ZPAUstack_context@23@_N2@Z)
1>main.obj : error LNK2019: unresolved external symbol "public: __thiscall boost::coroutines::detail::coroutine_context::coroutine_context(class boost::coroutines::detail::coroutine_context const &)" (??0coroutine_context@detail@coroutines@boost@@QAE@ABV0123@@Z) referenced in function "public: __thiscall boost::coroutines::detail::coroutine_base<void __cdecl(int)>::coroutine_base<void __cdecl(int)>(class boost::coroutines::detail::coroutine_context const &,bool,bool)" (??0?$coroutine_base@$$A6AXH@Z@detail@coroutines@boost@@QAE@ABVcoroutine_context@123@_N1@Z)
1>main.obj : error LNK2019: unresolved external symbol "public: class boost::coroutines::detail::coroutine_context & __thiscall boost::coroutines::detail::coroutine_context::operator=(class boost::coroutines::detail::coroutine_context const &)" (??4coroutine_context@detail@coroutines@boost@@QAEAAV0123@ABV0123@@Z) referenced in function "private: void __thiscall boost::coroutines::detail::coroutine_object<int __cdecl(void),void (__cdecl*)(class boost::coroutines::coroutine<void __cdecl(int),1> &),class boost::coroutines::detail::standard_stack_allocator,class std::allocator<class boost::coroutines::coroutine<int __cdecl(void),0> >,class boost::coroutines::coroutine<void __cdecl(int),1>,int,0>::enter_(void)" (?enter_@?$coroutine_object@$$A6AHXZP6AXAAV?$coroutine@$$A6AXH@Z$00@coroutines@boost@@@ZVstandard_stack_allocator@detail@23@V?$allocator@V?$coroutine@$$A6AHXZ$0A@@coroutines@boost@@@std@@V123@H$0A@@detail@coroutines@boost@@AAEXXZ)
1>main.obj : error LNK2019: unresolved external symbol "public: int __thiscall boost::coroutines::detail::coroutine_context::jump(class boost::coroutines::detail::coroutine_context &,int,bool)" (?jump@coroutine_context@detail@coroutines@boost@@QAEHAAV1234@H_N@Z) referenced in function "private: void __thiscall boost::coroutines::detail::coroutine_object<int __cdecl(void),void (__cdecl*)(class boost::coroutines::coroutine<void __cdecl(int),1> &),class boost::coroutines::detail::standard_stack_allocator,class std::allocator<class boost::coroutines::coroutine<int __cdecl(void),0> >,class boost::coroutines::coroutine<void __cdecl(int),1>,int,0>::enter_(void)" (?enter_@?$coroutine_object@$$A6AHXZP6AXAAV?$coroutine@$$A6AXH@Z$00@coroutines@boost@@@ZVstandard_stack_allocator@detail@23@V?$allocator@V?$coroutine@$$A6AHXZ$0A@@coroutines@boost@@@std@@V123@H$0A@@detail@coroutines@boost@@AAEXXZ)
1>c:\users\bravo\documents\visual studio 2012\Projects\coro_testbed\Debug\coro_testbed.exe : fatal error LNK1120: 8 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


Regards,
Szymon

--
Szymon Gatner
The Lordz Games Studio
www.thelordzgamesstudio.com