Boost C++ Libraries: Ticket #3422: Bad workaround for BOOST_NO_STDC_NAMESPACE in codecvt_null.hpp https://svn.boost.org/trac10/ticket/3422 <p> I'm trying to compile the 1.40 version of the library with MSVC 7.1 &amp; STLPort 5.1.4 and having these errors: </p> <pre class="wiki">boost\archive\codecvt_null.hpp(30) : error C2039: 'codecvt' : is not a member of 'operator``global namespace''' boost\archive\codecvt_null.hpp(30) : error C2873: 'codecvt' : symbol cannot be used in a using-declaration </pre><p> The problem is twofold. </p> <ol><li>There is namespace std opening missing after the #if defined(BOOST_NO_STDC_NAMESPACE) condition. Likewise, the closing brace should be before the matching #endif. </li><li>Since STLPort does import codecvt into its namespace (which aliases std), the !defined(UNDER_CE) condition is needless and causes my problems. I don't know if there are any platforms with codecvt in the global namespace, but MSVC 7.1 with STLPort is not one of them. </li></ol><p> I attached the patch with the both fixes. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/3422 Trac 1.4.3 Andrey Semashev Tue, 08 Sep 2009 10:47:46 GMT attachment set https://svn.boost.org/trac10/ticket/3422 https://svn.boost.org/trac10/ticket/3422 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">codecvt_null.hpp.patch</span> </li> </ul> <p> The fix for archives/codecvt_null.hpp </p> Ticket Robert Ramey Fri, 11 Sep 2009 18:26:56 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/3422#comment:1 https://svn.boost.org/trac10/ticket/3422#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">fixed</span> </li> </ul> <p> fixed on my machine - assuming tests pass here, will migrate to trunk </p> Ticket