Olaf Peter
2008-09-03 11:08:48 UTC
Hi,
I've got the linker error LNK2005
(http://msdn.microsoft.com/en-us/library/72zdcz6f(VS.80).aspx) using
MSVC80 (Studio 2005):
libboost_program_options-vc80-mt-1_35.lib(value_semantic.obj) : error
LNK2005: "public: __thiscall
boost::program_options::invalid_option_value::invalid_option_value(class
std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> > const &)"
(??***@program_options@boost@@***@ABV?$***@DU?$***@D@std@@V?$***@D@2@@std@@@Z)
ist bereits in
boost_program_options-vc80-mt-1_35.lib(boost_program_options-vc80-mt-1_35.dll)
definiert.
libboost_program_options-vc80-mt-1_35.lib(value_semantic.obj) : error
LNK2005: "public: virtual char const * __thiscall
boost::program_options::validation_error::what(void)const "
(?***@validation_error@***@boost@@UBEPBDXZ) ist bereits in
boost_program_options-vc80-mt-1_35.lib(boost_program_options-vc80-mt-1_35.dll)
definiert.
libboost_program_options-vc80-mt-1_35.lib(value_semantic.obj) : error
LNK2005: "void __cdecl boost::program_options::validate(class boost::any
&,class std::vector<class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >,class
std::allocator<class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> > > > const &,class
std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> > *,int)"
(?***@program_options@boost@@***@2@ABV?$***@V?$***@DU?$***@D@std@@V?$***@D@2@@std@@V?$***@V?$***@DU?$***@D@std@@V?$***@D@2@@std@@@2@@std@@PAV?$***@DU?$***@D@std@@V?$***@D@2@@***@H@Z)
ist bereits in
boost_program_options-vc80-mt-1_35.lib(boost_program_options-vc80-mt-1_35.dll)
definiert.
libboost_program_options-vc80-mt-1_35.lib(value_semantic.obj) : error
LNK2005: "private: virtual void __thiscall
boost::program_options::value_semantic_codecvt_helper<char>::parse(class
boost::any &,class std::vector<class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >,class
std::allocator<class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> > > > const
&,bool)const "
(?parse@?$***@D@***@boost@@***@3@ABV?$***@V?$***@DU?$***@D@std@@V?$***@D@2@@std@@V?$***@V?$***@DU?$***@D@std@@V?$***@D@2@@std@@@2@@std@@***@Z)
ist bereits in
boost_program_options-vc80-mt-1_35.lib(boost_program_options-vc80-mt-1_35.dll)
definiert.
libboost_program_options-vc80-mt-1_35.lib(options_description.obj) :
error LNK2005: "public: class
boost::program_options::options_description_easy_init __thiscall
boost::program_options::options_description::add_options(void)"
(?***@options_description@***@boost@@QAE?***@23@XZ)
ist bereits in
boost_program_options-vc80-mt-1_35.lib(boost_program_options-vc80-mt-1_35.dll)
definiert.
libboost_program_options-vc80-mt-1_35.lib(options_description.obj) :
error LNK2005: "class std::basic_ostream<char,struct
std::char_traits<char> > & __cdecl
boost::program_options::operator<<(class std::basic_ostream<char,struct
std::char_traits<char> > &,class
boost::program_options::options_description const &)"
(??***@boost@@YAAAV?$***@DU?$***@D@std@@@std@@***@ABVoptions_description@01@@Z)
ist bereits in
boost_program_options-vc80-mt-1_35.lib(boost_program_options-vc80-mt-1_35.dll)
definiert.
libboost_program_options-vc80-mt-1_35.lib(options_description.obj) :
error LNK2005: "public: __thiscall
boost::program_options::options_description::options_description(unsigned
int)" (??***@program_options@boost@@***@I@Z) ist
bereits in
boost_program_options-vc80-mt-1_35.lib(boost_program_options-vc80-mt-1_35.dll)
definiert.
libboost_program_options-vc80-mt-1_35.lib(options_description.obj) :
error LNK2005: "public: __thiscall
boost::program_options::options_description::options_description(class
std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> > const &,unsigned int)"
(??***@program_options@boost@@***@ABV?$***@DU?$***@D@std@@V?$***@D@2@@std@@***@Z)
ist bereits in
boost_program_options-vc80-mt-1_35.lib(boost_program_options-vc80-mt-1_35.dll)
definiert.
libboost_program_options-vc80-mt-1_35.lib(options_description.obj) :
error LNK2005: "public: class
boost::program_options::options_description_easy_init & __thiscall
boost::program_options::options_description_easy_init::operator()(char
const *,char const *)"
(??***@program_options@boost@@***@PBD0@Z)
ist bereits in
boost_program_options-vc80-mt-1_35.lib(boost_program_options-vc80-mt-1_35.dll)
definiert.
libboost_program_options-vc80-mt-1_35.lib(options_description.obj) :
error LNK2005: "public: class
boost::program_options::options_description_easy_init & __thiscall
boost::program_options::options_description_easy_init::operator()(char
const *,class boost::program_options::value_semantic const *,char const
*)"
(??***@program_options@boost@@***@PBDPBVvalue_semantic@***@0@Z)
ist bereits in
boost_program_options-vc80-mt-1_35.lib(boost_program_options-vc80-mt-1_35.dll)
definiert.
libboost_program_options-vc80-mt-1_35.lib(options_description.obj) :
error LNK2005: "public: class
boost::program_options::options_description & __thiscall
boost::program_options::options_description::add(class
boost::program_options::options_description const &)"
(?***@options_description@***@boost@@***@ABV123@@Z)
ist bereits in
boost_program_options-vc80-mt-1_35.lib(boost_program_options-vc80-mt-1_35.dll)
definiert.
libboost_program_options-vc80-mt-1_35.lib(convert.obj) : error LNK2005:
"class std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> > __cdecl boost::program_options::to_internal(class
std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> > const &)"
(?***@program_options@boost@@YA?AV?$***@DU?$***@D@std@@V?$***@D@2@@std@@ABV34@@Z)
ist bereits in
boost_program_options-vc80-mt-1_35.lib(boost_program_options-vc80-mt-1_35.dll)
definiert.
using the linker options:
/O2 /Ob2 /I "C:\Cpp\boost_1_35_0" /I ...
/D "WIN32" /D "_WINDOWS" /D "NDEBUG" /D "BOOST_ENABLE_ASSERT_HANDLER=1"
/D "QT_DLL" /D "QT_GUI_LIB" /D "QT_CORE_LIB" /D "QT_NO_DEBUG" /D
"CMAKE_INTDIR=\"Release\"" /D "_MBCS" /FD /EHsc /MD
/Fo"eda.dir\Release\\" /Fd"D:/work/build/Release/eda.pdb" /W3 /nologo /c
/TP /errorReport:prompt
Any ideas what happened here?
Thanks,
Olaf
I've got the linker error LNK2005
(http://msdn.microsoft.com/en-us/library/72zdcz6f(VS.80).aspx) using
MSVC80 (Studio 2005):
libboost_program_options-vc80-mt-1_35.lib(value_semantic.obj) : error
LNK2005: "public: __thiscall
boost::program_options::invalid_option_value::invalid_option_value(class
std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> > const &)"
(??***@program_options@boost@@***@ABV?$***@DU?$***@D@std@@V?$***@D@2@@std@@@Z)
ist bereits in
boost_program_options-vc80-mt-1_35.lib(boost_program_options-vc80-mt-1_35.dll)
definiert.
libboost_program_options-vc80-mt-1_35.lib(value_semantic.obj) : error
LNK2005: "public: virtual char const * __thiscall
boost::program_options::validation_error::what(void)const "
(?***@validation_error@***@boost@@UBEPBDXZ) ist bereits in
boost_program_options-vc80-mt-1_35.lib(boost_program_options-vc80-mt-1_35.dll)
definiert.
libboost_program_options-vc80-mt-1_35.lib(value_semantic.obj) : error
LNK2005: "void __cdecl boost::program_options::validate(class boost::any
&,class std::vector<class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >,class
std::allocator<class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> > > > const &,class
std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> > *,int)"
(?***@program_options@boost@@***@2@ABV?$***@V?$***@DU?$***@D@std@@V?$***@D@2@@std@@V?$***@V?$***@DU?$***@D@std@@V?$***@D@2@@std@@@2@@std@@PAV?$***@DU?$***@D@std@@V?$***@D@2@@***@H@Z)
ist bereits in
boost_program_options-vc80-mt-1_35.lib(boost_program_options-vc80-mt-1_35.dll)
definiert.
libboost_program_options-vc80-mt-1_35.lib(value_semantic.obj) : error
LNK2005: "private: virtual void __thiscall
boost::program_options::value_semantic_codecvt_helper<char>::parse(class
boost::any &,class std::vector<class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >,class
std::allocator<class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> > > > const
&,bool)const "
(?parse@?$***@D@***@boost@@***@3@ABV?$***@V?$***@DU?$***@D@std@@V?$***@D@2@@std@@V?$***@V?$***@DU?$***@D@std@@V?$***@D@2@@std@@@2@@std@@***@Z)
ist bereits in
boost_program_options-vc80-mt-1_35.lib(boost_program_options-vc80-mt-1_35.dll)
definiert.
libboost_program_options-vc80-mt-1_35.lib(options_description.obj) :
error LNK2005: "public: class
boost::program_options::options_description_easy_init __thiscall
boost::program_options::options_description::add_options(void)"
(?***@options_description@***@boost@@QAE?***@23@XZ)
ist bereits in
boost_program_options-vc80-mt-1_35.lib(boost_program_options-vc80-mt-1_35.dll)
definiert.
libboost_program_options-vc80-mt-1_35.lib(options_description.obj) :
error LNK2005: "class std::basic_ostream<char,struct
std::char_traits<char> > & __cdecl
boost::program_options::operator<<(class std::basic_ostream<char,struct
std::char_traits<char> > &,class
boost::program_options::options_description const &)"
(??***@boost@@YAAAV?$***@DU?$***@D@std@@@std@@***@ABVoptions_description@01@@Z)
ist bereits in
boost_program_options-vc80-mt-1_35.lib(boost_program_options-vc80-mt-1_35.dll)
definiert.
libboost_program_options-vc80-mt-1_35.lib(options_description.obj) :
error LNK2005: "public: __thiscall
boost::program_options::options_description::options_description(unsigned
int)" (??***@program_options@boost@@***@I@Z) ist
bereits in
boost_program_options-vc80-mt-1_35.lib(boost_program_options-vc80-mt-1_35.dll)
definiert.
libboost_program_options-vc80-mt-1_35.lib(options_description.obj) :
error LNK2005: "public: __thiscall
boost::program_options::options_description::options_description(class
std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> > const &,unsigned int)"
(??***@program_options@boost@@***@ABV?$***@DU?$***@D@std@@V?$***@D@2@@std@@***@Z)
ist bereits in
boost_program_options-vc80-mt-1_35.lib(boost_program_options-vc80-mt-1_35.dll)
definiert.
libboost_program_options-vc80-mt-1_35.lib(options_description.obj) :
error LNK2005: "public: class
boost::program_options::options_description_easy_init & __thiscall
boost::program_options::options_description_easy_init::operator()(char
const *,char const *)"
(??***@program_options@boost@@***@PBD0@Z)
ist bereits in
boost_program_options-vc80-mt-1_35.lib(boost_program_options-vc80-mt-1_35.dll)
definiert.
libboost_program_options-vc80-mt-1_35.lib(options_description.obj) :
error LNK2005: "public: class
boost::program_options::options_description_easy_init & __thiscall
boost::program_options::options_description_easy_init::operator()(char
const *,class boost::program_options::value_semantic const *,char const
*)"
(??***@program_options@boost@@***@PBDPBVvalue_semantic@***@0@Z)
ist bereits in
boost_program_options-vc80-mt-1_35.lib(boost_program_options-vc80-mt-1_35.dll)
definiert.
libboost_program_options-vc80-mt-1_35.lib(options_description.obj) :
error LNK2005: "public: class
boost::program_options::options_description & __thiscall
boost::program_options::options_description::add(class
boost::program_options::options_description const &)"
(?***@options_description@***@boost@@***@ABV123@@Z)
ist bereits in
boost_program_options-vc80-mt-1_35.lib(boost_program_options-vc80-mt-1_35.dll)
definiert.
libboost_program_options-vc80-mt-1_35.lib(convert.obj) : error LNK2005:
"class std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> > __cdecl boost::program_options::to_internal(class
std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> > const &)"
(?***@program_options@boost@@YA?AV?$***@DU?$***@D@std@@V?$***@D@2@@std@@ABV34@@Z)
ist bereits in
boost_program_options-vc80-mt-1_35.lib(boost_program_options-vc80-mt-1_35.dll)
definiert.
using the linker options:
/O2 /Ob2 /I "C:\Cpp\boost_1_35_0" /I ...
/D "WIN32" /D "_WINDOWS" /D "NDEBUG" /D "BOOST_ENABLE_ASSERT_HANDLER=1"
/D "QT_DLL" /D "QT_GUI_LIB" /D "QT_CORE_LIB" /D "QT_NO_DEBUG" /D
"CMAKE_INTDIR=\"Release\"" /D "_MBCS" /FD /EHsc /MD
/Fo"eda.dir\Release\\" /Fd"D:/work/build/Release/eda.pdb" /W3 /nologo /c
/TP /errorReport:prompt
Any ideas what happened here?
Thanks,
Olaf