Boost C++ Libraries: Ticket #10545: Bug causing linking problems https://svn.boost.org/trac10/ticket/10545 <p> The implementations of is_whitespace functions in basic_text_iprimitive.ipp must be inline. </p> <p> namespace detail { </p> <blockquote> <p> template&lt;class <a class="missing wiki">CharType</a>&gt; bool is_whitespace(<a class="missing wiki">CharType</a> c); </p> </blockquote> <blockquote> <p> template&lt;&gt; inline bool is_whitespace(char t){ </p> <blockquote> <p> return 0 != std::isspace(t); </p> </blockquote> <p> } </p> </blockquote> <blockquote> <p> #ifndef BOOST_NO_CWCHAR template&lt;&gt; inline bool is_whitespace(wchar_t t){ </p> <blockquote> <p> return 0 != std::iswspace(t); </p> </blockquote> <p> } #endif </p> </blockquote> <p> } <em> detail </em></p> <p> Does the code in your package not show this? </p> <p> Robert Ramey </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/10545 Trac 1.4.3 Robert Ramey Fri, 26 Sep 2014 17:10:42 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/10545#comment:1 https://svn.boost.org/trac10/ticket/10545#comment:1 <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">duplicate</span> </li> </ul> <p> duplicate of <a class="ext-link" href="https://svn.boost.org/trac/boost/ticket/10535"><span class="icon">​</span>https://svn.boost.org/trac/boost/ticket/10535</a> </p> Ticket Robert Ramey Fri, 26 Sep 2014 17:29:42 GMT status, description changed; resolution deleted https://svn.boost.org/trac10/ticket/10545#comment:2 https://svn.boost.org/trac10/ticket/10545#comment:2 <ul> <li><strong>status</strong> <span class="trac-field-old">closed</span> → <span class="trac-field-new">reopened</span> </li> <li><strong>resolution</strong> <span class="trac-field-deleted">duplicate</span> </li> <li><strong>description</strong> modified (<a href="/trac10/ticket/10545?action=diff&amp;version=2">diff</a>) </li> </ul> <p> my copy of the current code is exactly the code you have above. </p> <pre class="wiki">namespace detail { template&lt;class CharType&gt; bool is_whitespace(CharType c); template&lt;&gt; bool is_whitespace(char t){ return 0 != std::isspace(t); } #ifndef BOOST_NO_CWCHAR template&lt;&gt; bool is_whitespace(wchar_t t){ return 0 != std::iswspace(t); } #endif } // detail </pre> Ticket jlodos@… Fri, 26 Sep 2014 18:24:07 GMT <link>https://svn.boost.org/trac10/ticket/10545#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/10545#comment:3</guid> <description> <p> It is not identical :-) Please note the inline modifiers. As it stands now the linker gets multiple copies of these functions if the headers are included in different compilation units. Thanks for your time and the serialization library :-) </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Robert Ramey</dc:creator> <pubDate>Tue, 29 Sep 2015 21:06:25 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/10545#comment:4 https://svn.boost.org/trac10/ticket/10545#comment:4 <ul> <li><strong>status</strong> <span class="trac-field-old">reopened</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> Ticket