Ok, I got past the errors I was having
last night. Seemed to have to do with the ordering of the libraries and then
an incorrect constant used in the load method.
Moving on, I now get the following linker errors:
Linking...
Creating library
Debug/SerializationDemo.lib and object Debug/SerializationDemo.exp
demo.obj : error LNK2019:
unresolved external symbol "public: __thiscall
boost::archive::basic_text_oprimitive<class std::basic_ostream<unsigned
short,struct std::char_traits<unsigned short> >
>::~basic_text_oprimitive<class std::basic_ostream<unsigned short,struct
std::char_traits<unsigned short> > >(void)"
(??1?$basic_text_oprimitive@V?$basic_ostream@GU?$char_traits@G@std@@@std@@@archive@boost@@QAE@XZ)
referenced in function "public: __thiscall
boost::archive::text_woarchive_impl<class boost::archive::text_woarchive>::~text_woarchive_impl<class
boost::archive::text_woarchive>(void)"
(??1?$text_woarchive_impl@Vtext_woarchive@archive@boost@@@archive@boost@@QAE@XZ)
demo.obj : error LNK2019:
unresolved external symbol "public: __thiscall boost::archive::text_wiarchive_impl<class
boost::archive::text_wiarchive>::text_wiarchive_impl<class
boost::archive::text_wiarchive>(class std::basic_istream<unsigned
short,struct std::char_traits<unsigned short> > &,unsigned
int)" (??0?$text_wiarchive_impl@Vtext_wiarchive@archive@boost@@@archive@boost@@QAE@AAV?$basic_istream@GU?$char_traits@G@std@@@std@@I@Z)
referenced in function "public: __thiscall
boost::archive::text_wiarchive::text_wiarchive(class
std::basic_istream<unsigned short,struct std::char_traits<unsigned
short> > &,unsigned int)"
(??0text_wiarchive@archive@boost@@QAE@AAV?$basic_istream@GU?$char_traits@G@std@@@std@@I@Z)
demo.obj : error LNK2019:
unresolved external symbol "public: __thiscall
boost::archive::basic_text_iprimitive<class std::basic_istream<unsigned
short,struct std::char_traits<unsigned short> >
>::~basic_text_iprimitive<class std::basic_istream<unsigned
short,struct std::char_traits<unsigned short> > >(void)"
(??1?$basic_text_iprimitive@V?$basic_istream@GU?$char_traits@G@std@@@std@@@archive@boost@@QAE@XZ)
referenced in function "public: __thiscall
boost::archive::text_wiarchive_impl<class
boost::archive::text_wiarchive>::~text_wiarchive_impl<class
boost::archive::text_wiarchive>(void)"
(??1?$text_wiarchive_impl@Vtext_wiarchive@archive@boost@@@archive@boost@@QAE@XZ)
demo.obj : error LNK2019:
unresolved external symbol "public: __thiscall
boost::archive::basic_text_oprimitive<class std::basic_ostream<unsigned
short,struct std::char_traits<unsigned short> >
>::basic_text_oprimitive<class std::basic_ostream<unsigned
short,struct std::char_traits<unsigned short> > >(class
std::basic_ostream<unsigned short,struct std::char_traits<unsigned
short> > &,bool)"
(??0?$basic_text_oprimitive@V?$basic_ostream@GU?$char_traits@G@std@@@std@@@archive@boost@@QAE@AAV?$basic_ostream@GU?$char_traits@G@std@@@std@@_N@Z)
referenced in function "public: __thiscall
boost::archive::text_woarchive_impl<class
boost::archive::text_woarchive>::text_woarchive_impl<class
boost::archive::text_woarchive>(class std::basic_ostream<unsigned short,struct
std::char_traits<unsigned short> > &,unsigned int)"
(??0?$text_woarchive_impl@Vtext_woarchive@archive@boost@@@archive@boost@@QAE@AAV?$basic_ostream@GU?$char_traits@G@std@@@std@@I@Z)
Debug/SerializationDemo.exe : fatal error LNK1120: 4
unresolved externals
However, if I change the build type to not
be unicode, then it all compiles, links, and works.
I checked to see what libraries are being linked in a non- unicode build vs. a unicode:
Non-Unicode:
Linking to lib file:
libboost_serialization-vc71-sgd-1_33_1.lib // Good
Linking to lib file:
libboost_serialization-vc71-sgd-1_33_1.lib // Good
Unicode:
Linking to lib file:
libboost_wserialization-vc71-sgd-1_33_1.lib // Good
Linking to lib file:
libboost_serialization-vc71-sgd-1_33_1.lib // Why??
Linking to lib file:
libboost_serialization-vc71-sgd-1_33_1.lib // Why??
Any ideas? Does the boost
serialization possibly have unicode issues in 1.33.1?
Thanks in advance,
Lawrence