At Friday 2005-02-18 04:13, you wrote:
Hello!
I tried to build the date_date libraries of Boost 1.31.0 with a gcc 2.95.2 compiler on a SuSE 7.0 Linux system. I discovered several problems:
problem 1: you're using an ancient compiler. problem 2: you're using an out of date version of boost. I recommend to boost that we not accept patches for the compiler. IMO we cannot afford the effort.
1. Several header and source files try to include the sstream header file. This header is not available for gcc 2.95.2. I solved this problem by using #if defined(BOOST_NO_STRINGSTREAM) ... #else ... #endif constructions to include the correct header file and use the correct class.
2. In order to trigger the correct header file from error no. 1 the flag BOOST_NO_STRINGSTREAM must be set. This should be done by the config system (e.g. in boost/config/compiler/gcc.hpp).
3. I tried to include the date_time header files into a source file that also uses the Xerces library. This resulted in an error in file boost/date_time/gregorian_calendar.ipp, function gregorian_calendar_base
::day_number(const ymd_type& ymd) because of two + operators the compiler can use ( the buildin operator+(int, int) and second one from Xerces ). This error can be solved by doing a static cast to unsigned int for the three classes boost::gregorian::greg_year, greg_month and greg_day. The unsigned int operator is defined for all three classes. I have created two patch files for boost versions 1.31.0 and 1.32.0: http://home.arcor-online.de/markus.petermann/boost_1_31_0.patch http://home.arcor-online.de/markus.petermann/boost_1_32_0.patch
Maybe these corrections can be considered for future releases.
Best regards,
Markus Petermann
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
Victor A. Wagner Jr. http://rudbek.com The five most dangerous words in the English language: "There oughta be a law"