Boost C++ Libraries: Ticket #10386: MSVC link error in asymmetric_coroutine.hpp: symbol already defined https://svn.boost.org/trac10/ticket/10386 <p> Using MSVC2013 I get a link error when using coroutines through ASIO from multiple compilation units, saying that the constructor "push_coroutine&lt; void &gt;::push_coroutine( coroutine_fn fn, attributes const&amp; attrs)" is already defined in another .obj file. </p> <p> In fact this method (among several others in the same file) are implementations of fully specialized template methods, which are no longer templates, and thus either need to be defined as inline, or moved into a .cpp file. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/10386 Trac 1.4.3 Christian Maaser <runningwithscythes@…> Wed, 20 Aug 2014 18:31:26 GMT attachment set https://svn.boost.org/trac10/ticket/10386 https://svn.boost.org/trac10/ticket/10386 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">boost-1_56_0-coroutine_inline_msvc12.patch</span> </li> </ul> <p> fix for MSVC </p> Ticket Christian Maaser <runningwithscythes@…> Wed, 20 Aug 2014 18:35:45 GMT <link>https://svn.boost.org/trac10/ticket/10386#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/10386#comment:1</guid> <description> <p> I attached a simple fix which solves the issue for us (marking the methods in question as inline). The patch is incomplete as it only considers the MSVC code branches. In theory the issue should also affect other compilers, but I don't have time/access to another compiler right now to double check. </p> </description> <category>Ticket</category> </item> <item> <author>MBendiksen@…</author> <pubDate>Thu, 21 Aug 2014 11:25:32 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/10386#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/10386#comment:2</guid> <description> <p> We also had this problem in MSVC. Gcc compiled it with no error though. Adding inline fixes it. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>olli</dc:creator> <pubDate>Thu, 21 Aug 2014 15:19:13 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/10386#comment:3 https://svn.boost.org/trac10/ticket/10386#comment:3 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> <p> should be fixed in branch develop </p> Ticket