On Wed, 12 Nov 2003 08:42:08 -0500, Gilad Suberri wrote
Hi, I am compiling my projects on Solaris, using the latest version of the boost date_time library. All the gregorian examples compile and build fine, but when I try to compile posix_time ones I get this error:
...error details snipped... The version of gcc is 3.0.2. I do not get this compiler error when I use gcc 2.95.3, but I needed to use the newer version.
Any ideas? Thanks.
I suspect that somehow you are not getting boost::int64_t defined. Although looking at the logic in boost/config I'm not seeing why at the moment -- you might experiment with trying to make sure boost::int64_t is defined. I won't have a chance to look until later as I'm running out the door. Bottom
Thanks. It seems that I do not have the file "stdint.h", so in cstdint.hpp,
int64_t is defined in the last #else section (that goes with #ifdef
BOOST_HAS_STDINT_H).
When operators.hpp is included before this file (cstdint.hpp,) int64_t does
not get defined at all because this next statement from cstdint.hpp becomes
false:
# if defined(BOOST_HAS_LONG_LONG) && \
!defined(BOOST_MSVC) && !defined(__BORLANDC__) && \
(!defined(__GLIBCPP__) || defined(_GLIBCPP_USE_LONG_LONG)) && \
(defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) ||
defined(ULONGLONG_MAX))
When the include statements are switched around int64_t gets defined. This
is connected to posix_time_config.h where
"boost/date_time/time_duration.hpp" is included before
"boost/date_time/time_resolution_traits.hpp", which causes the above
problem. I switched the two include statements and I am not running into
that compiler error anymore, but I am not sure if that will cause other
compiler errrors. Hope some of this made sense, let me know what you think
or if I am missing anything. Thanks.
Gilad
----- Original Message -----
From: "Jeff Garland"
it should work with this compiler...
Jeff
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users