|
Boost Users : |
Subject: [Boost-users] Bug using mpl with <ciso646> and MSVC?
From: ebryan (bryan.12_at_[hidden])
Date: 2009-12-18 18:30:02
Hello,
I am using Spirit with some code that uses the keywords 'and', 'or', etc.
MSVC (at least my version, 9.0) does not implement these keywords, but
support can be added by including <ciso646>, which just has a bunch of
macros, ie. "#define and &&".
The problem I am running into is that when I try to compile something that
uses Spirit and ciso646, I get this compiler error:
boost\mpl\aux_\include_preprocessed.hpp(37) : fatal error C1083: Cannot open
include file: 'boost/mpl/aux_/preprocessed/plain/&.hpp': No such file or
directory
The offending line in include_preprocessed.hpp is:
# include
BOOST_PP_STRINGIZE(boost/mpl/aux_/preprocessed/AUX778076_PREPROCESSED_HEADER)
It looks like the macro 'bitand' is being expanded in here, so it tries to
include '&.hpp'.
Now, I think this problem has already been solved (mostly). See this
archived discussion, where this problem was worked around for 'and' and
'or': http://lists.boost.org/Archives/boost/2004/05/65563.php
I have checked the header files in boost/mpl and only see three more
conflicts between header names and ciso646 macros: 'bitand', 'bitor', and
'not'. If someone with more expertise than myself could implement a similar
workaround for these headers, I would be very grateful.
Thanks,
Erik
-- View this message in context: http://old.nabble.com/Bug-using-mpl-with-%3Cciso646%3E-and-MSVC--tp26851153p26851153.html Sent from the Boost - Users mailing list archive at Nabble.com.
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net