Boost logo

Boost Users :

Subject: [Boost-users] [bccl] Compilation fails due to BOOST_CONCEPT_ASSERT
From: Adam Badura (abadura_at_[hidden])
Date: 2009-02-17 14:32:23


In my project I have two header files both introducing four
BOOST_CONCEPT_ASSERT macros at namespace level. It happened that both
those files used those macros at the same lines (same line numbers).
The compilation of the one which is included as second fails (on MSVC
2008) with error:

d:\studies\thesis\project\prover\formulas\terms\variable.h(83) : error
C2365: 'boost_concept_check83' : redefinition; previous definition was
'enumerator'
        d:\studies\thesis\project\prover\formulas\terms\constant.h
(83) : see declaration of 'boost_concept_check83'

(repeated for each o those four uses with indexes 84, 85, 86 - clearly
line numbers).

It seems the line number is used to build some inner use name.
Reasonable. But failable as well. Maybe file name macro could be used
here however this could give string inappropriate for the identifier.

I don't know how to solve this (a temporal workaround is obviously
easy - just move the macros in on of files to a different place). I
haven't found any info on that neither in the documentation nor in the
groups.

Adam Badura


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