Boost logo

Boost :

From: SourceForge.net (noreply_at_[hidden])
Date: 2007-04-03 15:16:51


Bugs item #1693848, was opened at 2007-04-03 22:16
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=107586&aid=1693848&group_id=7586

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: serialization
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Farid (farid_zaripov)
Assigned to: Robert Ramey (ramey)
Summary: error C2039: 'mbstate_t' : is not a member of 'std'

Initial Comment:
I have been working on the Apache C++ Standard Library project (STDCXX):
http://incubator.apache.org/stdcxx/

I've trying to compile the boost library with stdcxx.

The details can be found here:
http://mail-archives.apache.org/mod_mbox/incubator-stdcxx-dev/200704.mbox/%
3c7BDB2168BEAEF14C98F1901FD2DE64386573EB_at_[hidden]%3e

Boost version: 1.33.1
STDCXX version: 4.2

I've got the following error in boost/detail/utf8_codecvt_facet.hpp; boost/archive/codecvt_null.hpp:

D:\_Libs\boost_1_33_1\boost\detail\utf8_codecvt_facet.hpp(116) : error C2039: 'mbstate_t' : is not a member of 'std'
D:\_Libs\boost_1_33_1\boost\detail\utf8_codecvt_facet.hpp(124) : error C2039: 'mbstate_t' : is not a member of 'std'
D:\_Libs\boost_1_33_1\boost\detail\utf8_codecvt_facet.hpp(134) : error C2039: 'mbstate_t' : is not a member of 'std'
D:\_Libs\boost_1_33_1\boost\detail\utf8_codecvt_facet.hpp(163) : error C2039: 'mbstate_t' : is not a member of 'std'
D:\_Libs\boost_1_33_1\boost\detail\utf8_codecvt_facet.hpp(181) : error C2039: 'mbstate_t' : is not a member of 'std'
d:\_Libs\boost_1_33_1\libs\program_options\src\../../detail\utf8_codecvt_facet.cpp(35) : error C2039: 'mbstate_t' : is not a member of 'std'
d:\_Libs\boost_1_33_1\libs\program_options\src\../../detail\utf8_codecvt_facet.cpp(112) : error C2039: 'mbstate_t' : is not a member of 'std'
d:\_Libs\boost_1_33_1\libs\program_options\src\../../detail\utf8_codecvt_facet.cpp(174) : error C2039: 'mbstate_t' : is not a member of 'std'

    CALL "C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\bin\VCVARS32.BAT" >nul
    "C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\bin\cl" /Zm800 -nologo /EHsc -c -D_RWSTDDEBUG /Z7 /Od /Ob0 /EHsc /GR /MTd /Op /wd4675 /Zc:forScope -I"bin\boost\libs\program_options\build" -I"D:\_Libs\boost_1_33_1" -I"D:\_Projects\stdcxx_working\include" -I"D:\_Projects\stdcxx_working\include\ansi" -I"D:\_Projects\stdcxx_working\build\msvc-7.1\15s\include" -I"D:\_Libs\boost_1_33_1" -Fo"bin\boost\libs\program_options\build\libboost_program_options.lib\vc-7_1-stdcxx\debug\runtime-link-static\threading-multi\utf8_codecvt_facet.obj" -Tp"D:\_Libs\boost_1_33_1\libs\program_options\build\../src/utf8_codecvt_facet.cpp"

D:\_Libs\boost_1_33_1\boost/archive/codecvt_null.hpp(45) : error C2039: 'mbstate_t' : is not a member of 'std'
D:\_Libs\boost_1_33_1\boost/archive/codecvt_null.hpp(45) : error C2065: 'mbstate_t' : undeclared identifier
D:\_Libs\boost_1_33_1\boost/archive/codecvt_null.hpp(46) : error C2955: 'std::codecvt' : use of class template requires template argument list
        D:\_Projects\stdcxx_working\include\loc/_codecvt.h(164) : see declaration of 'std::codecvt'
D:\_Libs\boost_1_33_1\boost/archive/codecvt_null.hpp(57) : error C2039: 'mbstate_t' : is not a member of 'std'
D:\_Libs\boost_1_33_1\boost/archive/codecvt_null.hpp(58) : error C2955: 'std::codecvt' : use of class template requires template argument list
        D:\_Projects\stdcxx_working\include\loc/_codecvt.h(164) : see declaration of 'std::codecvt'
D:\_Libs\boost_1_33_1\boost/archive/codecvt_null.hpp(61) : error C2039: 'mbstate_t' : is not a member of 'std'
D:\_Libs\boost_1_33_1\boost/archive/codecvt_null.hpp(61) : error C2061: syntax error : identifier 'mbstate_t'
D:\_Libs\boost_1_33_1\boost/archive/codecvt_null.hpp(71) : error C2039: 'mbstate_t' : is not a member of 'std'
D:\_Libs\boost_1_33_1\boost/archive/codecvt_null.hpp(71) : error C2061: syntax error : identifier 'mbstate_t'
D:\_Libs\boost_1_33_1\boost/archive/codecvt_null.hpp(52) : error C2039: 'mbstate_t' : is not a member of 'std'
D:\_Libs\boost_1_33_1\boost/archive/codecvt_null.hpp(53) : error C2542: 'codecvt' : class object has no constructor for initialization

    CALL "D:\Program Files\Microsoft Visual Studio 8\Common7\Tools\..\..\VC\bin\vcvars32.BAT" >nul
    "D:\Program Files\Microsoft Visual Studio 8\Common7\Tools\..\..\VC\bin\cl" /Zm800 -nologo /EHsc -c -DBOOST_LIB_DIAGNOSTIC=1 -D_RWSTDDEBUG /Z7 /Od /Ob0 /EHsc /GR /MTd -Gy -wd4996 /Zc:forScope /Zc:wchar_t -I"bin\boost\libs\serialization\build" -I"D:\_Projects\stdcxx_working\include" -I"D:\_Projects\stdcxx_working\include\ansi" -I"D:\_Projects\stdcxx_working\build\msvc-8.0\15s\include" -I"D:\_Libs\boost_1_33_1" -Fo"bin\boost\libs\serialization\build\libboost_serialization.lib\vc-8_0-stdcxx\debug\runtime-link-static\threading-multi\basic_text_iprimitive.obj" -Tp"D:\_Libs\boost_1_33_1\libs\serialization\build\../src/basic_text_iprimitive.cpp"

I propose to #include <wchar.h> in codecvt_null.hpp and add the following lines in both files:

    #elif defined(BOOST_RWSTD_VER)
        using ::mbstate_t;

----------------------------------------------------------------------

You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=107586&aid=1693848&group_id=7586

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Boost-bugs mailing list
Boost-bugs_at_[hidden]
https://lists.sourceforge.net/lists/listinfo/boost-bugs


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk