Boost logo

Boost :

From: JOAQUIN M. LOPEZ MUÑOZ (joaquin_at_[hidden])
Date: 2008-08-26 12:28:58


Hello,

I found the following problem when using BOOST_MPL_ASSERT_MSG
under Visual Studio 2005 Express Edition:

* Create a basic console project
* Include files foo1.cpp and foo2.cpp (files attached)
* Build; the following error shows up at linking time:

>Linking...
>foo2.obj : error LNK2005: "public: static struct boost::mpl::failed
 * * * * * * * * * * * * (__thiscall `bool __cdecl f<int>(void)'::`2'
::ALWAYS_TRUE::** * * * * * * * * * * __cdecl `bool __cdecl f<int>
(void)'::`2'::ALWAYS_TRUE0::assert_arg(void))(int)"
(?assert_arg_at_ALWAYS_TRUE0@?1???$f_at_H@@YA_NXZ_at_SAPAPAPAPAPAPAPAPAPAPAPAP8<mailto:?assert_arg_at_ALWAYS_TRUE0@?1???$f_at_H@@YA_NXZ_at_SAPAPAPAPAPAPAPAPAPAPAPAP8>
ALWAYS_TRUE@?1???$f_at_H@@YA_NXZ_at_AEPAPAPAPAPAPAPAPAPAPAPAPAUfailed@mpl_at_boost@@H_at_ZXZ<mailto:ALWAYS_TRUE@?1???$f_at_H@@YA_NXZ_at_AEPAPAPAPAPAPAPAPAPAPAPAPAUfailed@mpl_at_boost@@H_at_ZXZ>)
already defined in foo1.obj
This duplication problem happens only when BOOST_MPL_ASSERT_MSG
is used at function or member function level. At class level everything
works OK.

Has anyone seen this before? I've created a ticket for this issue:
http://svn.boost.org/trac/boost/ticket/2262

Thank you,

Joaquín M López Muñoz
Telefónica, Investigación y Desarollo






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