Opened 15 years ago
Closed 15 years ago
#1143 closed Bugs (fixed)
Archive headers appear to be missing multiple(?) include files
Reported by: | anonymous | Owned by: | Robert Ramey |
---|---|---|---|
Milestone: | Boost 1.35.0 | Component: | serialization |
Version: | Boost 1.34.1 | Severity: | Regression |
Keywords: | Cc: |
Description
Here is my test program:
#include <boost/archive/binary_iarchive.hpp> #include <boost/archive/binary_oarchive.hpp> #include <boost/archive/xml_iarchive.hpp> #include <boost/archive/xml_oarchive.hpp> int main(void) { return 0; }
Here are the first few lines of gcc output:
../boost/boost/boost/archive/basic_binary_iprimitive.hpp:72: error: ISO C++ forbids declaration of ‘scoped_ptr’ with no type ../boost/boost/boost/archive/basic_binary_iprimitive.hpp:72: error: invalid use of ‘::’ ../boost/boost/boost/archive/basic_binary_iprimitive.hpp:72: error: expected ‘;’ before ‘<’ token ../boost/boost/boost/archive/basic_binary_iprimitive.hpp:73: error: ISO C++ forbids declaration of ‘basic_streambuf_locale_saver’ with no type ../boost/boost/boost/archive/basic_binary_iprimitive.hpp:73: error: expected ‘;’ before ‘<’ token ../boost/boost/boost/archive/basic_binary_iprimitive.hpp: In member function ‘void boost::archive::boost::archive::basic_binary_iprimitive<Archive, Elem, Tr> ::load_binary(void*, size_t)’: ../boost/boost/boost/archive/basic_binary_iprimitive.hpp:150: error: ‘throw_exception’ is not a member of ‘boost::archive::boost’
It looks to my untrained eye that there could be several includes missing, or perhaps some circular including going on.
I am using an ubuntu 7.04 distribution, gcc 4.1.2, etc. I am building boost myself. I am upgrading from boost 1.32.0, under which I did not experience this problem.
Benjamin.
Change History (2)
comment:1 by , 15 years ago
comment:2 by , 15 years ago
Milestone: | To Be Determined → Boost 1.35.0 |
---|---|
Resolution: | → fixed |
Status: | new → closed |
fixed in next release
Note:
See TracTickets
for help on using tickets.
This is the problem which is related to the miss place close braces in boost/archive/basic_streambuf_locale_saver.hpp To fix the problem, simply move the namespace close braces into the #endif for BOOST_NO_STD_LOCALE. (this works only with the machine with <locale>, otherwise, more fixes are required.)
Cheers.
Shirley
Replying to anonymous: