Boost logo

Boost Users :

Subject: Re: [Boost-users] [Serialization] archive back compatibility problems should be fixed
From: Philipp Münzel (mailing-lists_at_[hidden])
Date: 2010-10-20 10:02:40


On 20.10.2010 15:07 "Bryce Lelbach" <admin_at_[hidden]>
<admin_at_[hidden]> wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
>
> Can you test archive compatibility on MSVC or Linux gcc? We're working
> on mingw but
> atm there are a few outstanding issues with it.
>
>

Linux x86 and Linux x64 with gcc 4.5.0 both work flawlessly.

I tried a build with MS Visual C++ 2010 Express.

Boost builds, but when linking against boost_serialization.lib the following linker error is raised:

msvcprt.lib(MSVCP100.dll) : error LNK2005: "public: class std::locale::facet * _
_thiscall std::locale::facet::_Decref(void)" (?_Decref_at_facet@locale_at_std@@QAEPAV1
23_at_XZ) already defined in boost_serialization.lib(binary_oarchive.obj).
msvcprt.lib(MSVCP100.dll) : error LNK2005: "public: void __thiscall std::locale:
:facet::_Incref(void)" (?_Incref_at_facet@locale_at_std@@QAEXXZ) already defined in boost_
serialization.lib(binary_oarchive.obj).
msvcprt.lib(MSVCP100.dll) : error LNK2005: "public: static unsigned int __cdecl
std::codecvt<char,char,int>::_Getcat(class std::locale::facet const * *,class st
d::locale const *)" (?_Getcat@?$codecvt_at_DDH@std@@SAIPAPBVfacet_at_locale@2_at_PBV42@@Z
) already defined in boost_serialization.lib(binary_oarchive.obj.
msvcprt.lib(MSVCP100.dll) : error LNK2005: "public: class std::locale __thiscall
 std::basic_streambuf<char,struct std::char_traits<char> >::getloc(void)const "
(?getloc@?$basic_streambuf_at_DU?$char_traits_at_D@std@@@std@@QBE?AVlocale_at_2@XZ) already defined in boost_serialization.lib(binary_oarchive.obj).
msvcprt.lib(MSVCP100.dll) : error LNK2005: "public: __int64 __thiscall std::basi
c_streambuf<char,struct std::char_traits<char> >::sputn(char const *,__int64)" (
?sputn@?$basic_streambuf_at_DU?$char_traits_at_D@std@@@std@@QAE_JPBD_J_at_Z) already defined
in boost_serialization.lib(binary_oarchive.obj).
msvcprt.lib(MSVCP100.dll) : error LNK2005: "public: __thiscall std::codecvt<char
,char,int>::codecvt<char,char,int>(unsigned int)" (??0?$codecvt_at_DDH@std@@QAE_at_I@Z
) already defined in boost_serialization.lib(binary_oarchive.obj).
msvcprt.lib(MSVCP100.dll) : error LNK2005: "protected: virtual __thiscall std::c
odecvt<char,char,int>::~codecvt<char,char,int>(void)" (??1?$codecvt_at_DDH@std@@MAE
@XZ) already defined in boost_serialization.lib(binary_oarchive.obj).
msvcprt.lib(MSVCP100.dll) : error LNK2005: "public: class std::locale __thiscall
 std::basic_streambuf<char,struct std::char_traits<char> >::pubimbue(class std::
locale const &)" (?pubimbue@?$basic_streambuf_at_DU?$char_traits_at_D@std@@@std@@QAE?A
Vlocale_at_2@ABV32@@Z) already defined in boost_serialization.lib(binary_oarchive.obj).
msvcprt.lib(MSVCP100.dll) : error LNK2005: "public: class std::_Yarn<char> & __t
hiscall std::_Yarn<char>::operator=(char const *)" (??4?$_Yarn_at_D@std@@QAEAAV01_at_P
BD_at_Z) already defined in boost_serialization.lib(binary_oarchive.obj).
msvcprt.lib(MSVCP100.dll) : error LNK2005: "private: __thiscall std::locale::_Lo
cimp::_Locimp(class std::locale::_Locimp const &)" (??0_Locimp_at_locale@std@@AAE_at_A
BV012@@Z) already defined in boost_serialization.lib(binary_oarchive.obj).
msvcprt.lib(MSVCP100.dll) : error LNK2005: "protected: virtual __thiscall std::l
ocale::_Locimp::~_Locimp(void)" (??1_Locimp_at_locale@std@@MAE_at_XZ) already defined in b
oost_serialization.lib(binary_oarchive.obj).
NMAKE : fatal error U1077: ""C:\Program Files\Microsoft Visual Studio 10.0\VC\BI
N\link.EXE"": Return-Code "0x450"
Stop.

Bottom line: boost_serialization is totally useless on Windows, as it neither works with
-gcc 3.4.5
-gcc 4.4.0
-msvc 2010

Philipp


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