Opened 15 years ago
Closed 14 years ago
#1589 closed Bugs (fixed)
[filesystem] 'mbstate_t' : is not a member of 'std'
Reported by: | Owned by: | Beman Dawes | |
---|---|---|---|
Milestone: | Boost 1.36.0 | Component: | filesystem |
Version: | Boost Development Trunk | Severity: | Showstopper |
Keywords: | Cc: | Beman Dawes |
Description
The stdcxx is the another implementation of the STL (initially based on RogueWave STL).
The following errors are encountered when running boost regression tests on msvc with stdcxx-4.2.0.
path.cpp ..\libs\filesystem\src\path.cpp(40) : error C2039: 'mbstate_t' : is not a member of 'std' ..\libs\filesystem\src\path.cpp(40) : error C2065: 'mbstate_t' : undeclared identifier ..\libs\filesystem\src\path.cpp(43) : error C2039: 'mbstate_t' : is not a member of 'std' ..\libs\filesystem\src\path.cpp(45) : error C2039: 'mbstate_t' : is not a member of 'std' ..\libs\filesystem\src\path.cpp(46) : error C3206: 'std::use_facet' : invalid template argument for '_Facet', missing template argument list on class template 'std::codecvt' D:\stdcxx\4.2.x\include\loc/_locale.h(82) : see declaration of 'std::use_facet' ..\libs\filesystem\src\path.cpp(46) : fatal error C1903: unable to recover fromprevious error(s); stopping compilation
The proposed patch:
Index: libs/filesystem/src/path.cpp =================================================================== --- libs/filesystem/src/path.cpp (revision 42908) +++ libs/filesystem/src/path.cpp (working copy) @@ -24,6 +24,8 @@ #include <boost/cerrno.hpp> #include <boost/system/error_code.hpp> +#include <cwchar> // fot std::mbstate_t + namespace { // std::locale construction can throw (if LC_MESSAGES is wrong, for example),
Change History (5)
comment:2 by , 15 years ago
The error in wide_test.cpp:
wide_test.cpp ..\libs\filesystem\test\wide_test.cpp(109) : error C2039: 'mbstate_t' : is not a member of 'std' ..\libs\filesystem\test\wide_test.cpp(136) : error C2039: 'hex' : is not a member of 'std' ..\libs\filesystem\test\wide_test.cpp(136) : error C2065: 'hex' : undeclared identifier ..\libs\filesystem\test\wide_test.cpp(137) : error C2039: 'dec' : is not a member of 'std' ..\libs\filesystem\test\wide_test.cpp(137) : error C2065: 'dec' : undeclared identifier
The proposed patch:
Index: libs/filesystem/test/wide_test.cpp =================================================================== --- libs/filesystem/test/wide_test.cpp (revision 42908) +++ libs/filesystem/test/wide_test.cpp (working copy) @@ -30,7 +30,7 @@ namespace fs = boost::filesystem; #include <iostream> -#include <iomanip> +#include <ios> // for std::hex, std::dec #include <string> #include <cerrno>
comment:5 by , 14 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Fixed. Please reopen if the changes don't solve the problem.
Thanks,
--Beman
Note:
See TracTickets
for help on using tickets.