Boost logo

Boost :

From: Edward Diener (eddielee_at_[hidden])
Date: 2005-07-23 23:47:36


In config/platform/win32.hpp I see:

#if !defined(__GNUC__) && !defined(BOOST_HAS_DECLSPEC)
# define BOOST_HAS_DECLSPEC
#endif

This tells me that __declspec can be possibly used for all Windows compilers
except for gcc. I believe, however, that for Comeau-Win32 __declspec can also
not be used.

When trying to build Boost libraries for Comeau with the VC7.1 backend, the
compiler gives this error in the date/time library when trying to compile
greg_month.cpp with BOOST_ALL_DYN_LINK defined:

""H:\Utilities\BoostLibraries\boost_1_32_0\boost/date_time/gregorian/greg_month.h
pp", line 55: error #70:
           incomplete type is not allowed
     class BOOST_DATE_TIME_DECL greg_month : public greg_month_rep {"
           ^

I could be wrong but this seems to me that the compiler is objecting to
BOOST_DATE_TIME_DECL, which becomes __declspec(dllexport) because
BOOST_HAS_DECLSPEC is defined for the Comeau compiler.

Needless to say many other errors along thr same lines occur in the build for
other libraries which use __declspec(dllexport).


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