Hi all,

I am currently having problem with a static const class member (in a header only project):

// type.hpp
template< typename Property > 
struct property_base
{
    typedef Property type;
};

struct some_type : property_base< uint32_t >
{
    BOOST_STATIC_CONSTANT( type, first_value       = 1 );
    BOOST_STATIC_CONSTANT( type, second_value  = 2 );
};

// main.cpp
#include "type.hpp"
...
int main(int argc, char** argv)
{
   BOOST_CHECK_EQUAL( 1     , some_type::first_value );
}

This produces a link error (g++ 4.3.4): undefined reference to some_type::first_value. Everything is fine with visual ...

If I add const some_type::type some_type::first_value; after the struct definition, it compiles and links fine. However, would it produce a multiple definition link error in some cases?
Could you please help?

Regards,

Olivier