[C++-sig] GCCXML compile errors with boost header files and Visual Studio header files

Jenny Duan (TT) jenny.duan at tradingtechnologies.com
Fri Dec 7 22:55:53 CET 2007


Gccxml does not seem to be able to handle the boost/mpl/and.hpp file. I 
have the most recent gccxml (retrieved the source tree and built it) and

1.34.1 boost. I was told by GCCXML support that 
boost/config/compiler/gcc_xml.hpp needs to exist in order for GCXXML to 
process boost header files and this file does exist. Please see the 
content of it below. 

Can somebody please tell me why it's not working for me? Your help 
would be greatly appreciated. 

Thanks, 
Jenny 

----------------------------------------------------------- 
// Copyright Aleksey Gurtovoy 2000-2004 
// 
// Distributed under the Boost Software License, Version 1.0. 
// (See accompanying file LICENSE_1_0.txt or copy at 
// http://www.boost.org/LICENSE_1_0.txt) 
// 
// See http://www.boost.org/libs/mpl for documentation. 

// $Source: /cvsroot/boost/boost/boost/mpl/and.hpp,v $ 
// $Date: 2004/09/02 15:40:41 $ 
// $Revision: 1.5 $ 

#include <boost/mpl/aux_/config/use_preprocessed.hpp> 

#if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \ 
    && !defined(BOOST_MPL_PREPROCESSING_MODE) 

# include <boost/mpl/bool.hpp> 
# include <boost/mpl/aux_/nested_type_wknd.hpp> 
# include <boost/mpl/aux_/na_spec.hpp> 
# include <boost/mpl/aux_/lambda_support.hpp> 

// agurt, 19/may/04: workaround a conflict with <iso646.h> header's 
// 'or' and 'and' macros, see http://tinyurl.com/3et69; 'defined(and)' 
// has to be checked in a separate condition, otherwise GCC complains 
// about 'and' being an alternative token 
#if defined(_MSC_VER) 
#if defined(and) 
# pragma push_macro("and") 
# undef and 
# define and(x) 
#endif 
#endif 

# define BOOST_MPL_PREPROCESSED_HEADER and.hpp 
# include <boost/mpl/aux_/include_preprocessed.hpp> 

#if defined(_MSC_VER) 
#if defined(and) 
# pragma pop_macro("and") 
#endif 
#endif 

#else 

# define AUX778076_OP_NAME and_ 
# define AUX778076_OP_VALUE1 false 
# define AUX778076_OP_VALUE2 true 
# include <boost/mpl/aux_/logical_op.hpp> 

#endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS 
#endif // BOOST_MPL_AND_HPP_INCLUDED 

------------------------------------------------ 
$gccxml -fxml-start=./xml_start_symbols.txt --gccxml-gcc-options 
./compiler_optons.txt world.h -fxml=world.xml 

--- snip--- 
In file included from 
G:/corebuilds/7.0.x/misc/stream/1.3/dev/stream/helpers.h:42, 
                 from ../common/world.h:33: 
C:/Program Files/boost/boost_1_34_1/boost/mpl/and.hpp:32:13: error: 
operator "defined" requires an identifier 
C:/Program Files/boost/boost_1_34_1/boost/mpl/and.hpp:32:13: error: 
("and" is an alternative token for "&&" in C++) 
C:/Program Files/boost/boost_1_34_1/boost/mpl/and.hpp:32:16: error: 
missing '(' in expression 
C:/Program Files/boost/boost_1_34_1/boost/mpl/and.hpp:43:13: error: 
operator "defined" requires an identifier 
C:/Program Files/boost/boost_1_34_1/boost/mpl/and.hpp:43:13: error: 
("and" is an alternative token for "&&" in C++) 
C:/Program Files/boost/boost_1_34_1/boost/mpl/and.hpp:43:16: error: 
missing '(' in expression 
In file included from 
G:/corebuilds/7.0.x/misc/stream/1.3/dev/stream/helpers.h:44, 
                 from ../common/world.h:33: 
C:/Program Files/boost/boost_1_34_1/boost/mpl/or.hpp:33:13: error: 
operator "defined" requires an identifier 
C:/Program Files/boost/boost_1_34_1/boost/mpl/or.hpp:33:13: error: ("or"

is an alternative token for "||" in C++) 
C:/Program Files/boost/boost_1_34_1/boost/mpl/or.hpp:33:15: error: 
missing '(' in expression 
C:/Program Files/boost/boost_1_34_1/boost/mpl/or.hpp:44:13: error: 
operator "defined" requires an identifier 
C:/Program Files/boost/boost_1_34_1/boost/mpl/or.hpp:44:13: error: ("or"

is an alternative token for "||" in C++) 
C:/Program Files/boost/boost_1_34_1/boost/mpl/or.hpp:44:15: error: 
missing '(' in expression 
In file included from 
G:/corebuilds/7.0.x/misc/stream/1.3/dev/stream/compression.h:28, 
                 from 
G:/corebuilds/7.0.x/misc/stream/1.3/dev/stream/stream_integer_wrapper.h:

32, 
                 from 
G:/corebuilds/7.0.x/misc/stream/1.3/dev/stream/helpers.h:55, 
                 from ../common/world.h:33: 
G:/corebuilds/7.0.x/misc/coreutils/1.2/dev/osabstraction/tt_crt_defs.h:3

2:2: error: #error _USE_32BIT_TIME_T must be defined for TT applications

In file included from 
G:/corebuilds/7.0.x/misc/coreutils/1.2/dev/coreutils/tt_systypes.h:28, 
                 from 
G:/corebuilds/7.0.x/misc/stream/1.3/dev/stream/streamable.h:38, 
                 from ../common/world.h:34: 
G:/corebuilds/7.0.x/misc/coreutils/1.2/dev/osabstraction/tt_win_defs.h:3

1:2: error: #error you must include tt_win_defs.h as the first header 
file in all compilands to ensure correct settings. 
G:/corebuilds/7.0.x/misc/coreutils/1.2/dev/osabstraction/tt_win_defs.h:5

5:21: error: afx.h: No such file or directory 
G:/corebuilds/7.0.x/misc/coreutils/1.2/dev/osabstraction/tt_win_defs.h:5

6:24: error: afxwin.h: No such file or directory 
G:/corebuilds/7.0.x/misc/coreutils/1.2/dev/osabstraction/tt_win_defs.h:5

7:23: error: afxmt.h: No such file or directory 
In file included from C:/Program Files/Microsoft Visual Studio 
8/VC/include/fvec.h:43, 
                 from C:/Program Files/Microsoft Visual Studio 
8/VC/include/dvec.h:37, 
                 from C:/Program Files/Microsoft Visual Studio 
8/VC/include/intrin.h:31, 
                 from 
G:/corebuilds/7.0.x/misc/coreutils/1.2/dev/coreutils/interlocked.h:29, 
                 from 
G:/corebuilds/7.0.x/misc/coreutils/1.2/dev/coreutils/TTCriticalSectionBa

se.h:30, 
                 from 
G:/corebuilds/7.0.x/misc/coreutils/1.2/dev/coreutils/ttcriticalsection.h

:28, 
                 from ../common/world.h:38: 
C:/Program Files/Microsoft Visual Studio 8/VC/include/ivec.h:178:1: 
error: pasting "&" and "vec" does not give a valid preprocessing token 
C:/Program Files/Microsoft Visual Studio 8/VC/include/ivec.h:178:1: 
error: pasting "+" and "0" does not give a valid preprocessing token 
C:/Program Files/Microsoft Visual Studio 8/VC/include/ivec.h:179:1: 
error: pasting "&" and "vec" does not give a valid preprocessing token 
C:/Program Files/Microsoft Visual Studio 8/VC/include/ivec.h:179:1: 
error: pasting "+" and "1" does not give a valid preprocessing token 
C:/Program Files/Microsoft Visual Studio 8/VC/include/ivec.h:221:1: 
error: pasting "&" and "vec" does not give a valid preprocessing token 
--- snip--- 



 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/cplusplus-sig/attachments/20071207/6233a10a/attachment.htm>


More information about the Cplusplus-sig mailing list