Visual C++ 2008 + Boost
-
Hallo zusammen,
hab mir eben mal die 2008er Express Version von Visual C++ heruntergeladen und installiert. Nun habe ich allerdings das Problem, dass mein Projekt nicht mehr so recht mit den von mir mit dem VC2005 kompilierten Boost-Bibliotheken zurecht kommt. Fehler sind folgende:1>libboost_thread-vc80-mt-gd-1_33_1.lib(thread.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall std::_Container_base::~_Container_base(void)" (__imp_??1_Container_base@std@@QAE@XZ) referenced in function "public: __thiscall std::_List_nod<class boost::thread *,class std::allocator<class boost::thread *> >::~_List_nod<class boost::thread *,class std::allocator<class boost::thread *> >(void)" (??1?$_List_nod@PAVthread@boost@@V?$allocator@PAVthread@boost@@@std@@@std@@QAE@XZ) 1>libboost_thread-vc80-mt-gd-1_33_1.lib(tss_hooks.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall std::_Container_base::~_Container_base(void)" (__imp_??1_Container_base@std@@QAE@XZ) 1>libboost_regex-vc80-mt-gd-1_33_1.lib(instances.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall std::_Container_base::~_Container_base(void)" (__imp_??1_Container_base@std@@QAE@XZ) 1>libboost_thread-vc80-mt-gd-1_33_1.lib(thread.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall std::_Container_base::_Container_base(void)" (__imp_??0_Container_base@std@@QAE@XZ) referenced in function "protected: __thiscall std::_List_nod<class boost::thread *,class std::allocator<class boost::thread *> >::_List_nod<class boost::thread *,class std::allocator<class boost::thread *> >(class std::allocator<class boost::thread *>)" (??0?$_List_nod@PAVthread@boost@@V?$allocator@PAVthread@boost@@@std@@@std@@IAE@V?$allocator@PAVthread@boost@@@1@@Z) 1>libboost_thread-vc80-mt-gd-1_33_1.lib(tss_hooks.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall std::_Container_base::_Container_base(void)" (__imp_??0_Container_base@std@@QAE@XZ) 1>libboost_regex-vc80-mt-gd-1_33_1.lib(instances.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall std::_Container_base::_Container_base(void)" (__imp_??0_Container_base@std@@QAE@XZ) 1>libboost_regex-vc80-mt-gd-1_33_1.lib(instances.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall std::_Container_base::_Orphan_all(void)const " (__imp_?_Orphan_all@_Container_base@std@@QBEXXZ) referenced in function "public: class std::vector<struct boost::sub_match<char const *>,class std::allocator<struct boost::sub_match<char const *> > > & __thiscall std::vector<struct boost::sub_match<char const *>,class std::allocator<struct boost::sub_match<char const *> > >::operator=(class std::vector<struct boost::sub_match<char const *>,class std::allocator<struct boost::sub_match<char const *> > > const &)" (??4?$vector@U?$sub_match@PBD@boost@@V?$allocator@U?$sub_match@PBD@boost@@@std@@@std@@QAEAAV01@ABV01@@Z) 1>libboost_regex-vc80-mt-gd-1_33_1.lib(instances.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall std::_Container_base::_Swap_all(class std::_Container_base &)const " (__imp_?_Swap_all@_Container_base@std@@QBEXAAV12@@Z) referenced in function "public: void __thiscall std::vector<struct boost::sub_match<char const *>,class std::allocator<struct boost::sub_match<char const *> > >::swap(class std::vector<struct boost::sub_match<char const *>,class std::allocator<struct boost::sub_match<char const *> > > &)" (?swap@?$vector@U?$sub_match@PBD@boost@@V?$allocator@U?$sub_match@PBD@boost@@@std@@@std@@QAEXAAV12@@Z) 1>libboost_regex-vc80-mt-gd-1_33_1.lib(instances.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class std::_String_iterator<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::insert(class std::_String_iterator<char,struct std::char_traits<char>,class std::allocator<char> >,char)" (__imp_?insert@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@V32@D@Z) referenced in function "public: struct boost::re_detail::re_syntax_base * __thiscall boost::re_detail::basic_regex_creator<char,struct boost::regex_traits<char,class boost::w32_regex_traits<char> > >::append_set(class boost::re_detail::basic_char_set<char,struct boost::regex_traits<char,class boost::w32_regex_traits<char> > > const &,struct boost::mpl::bool_<0> *)" (?append_set@?$basic_regex_creator@DU?$regex_traits@DV?$w32_regex_traits@D@boost@@@boost@@@re_detail@boost@@QAEPAUre_syntax_base@23@ABV?$basic_char_set@DU?$regex_traits@DV?$w32_regex_traits@D@boost@@@boost@@@23@PAU?$bool_@$0A@@mpl@3@@Z)
Ob das builden von Boost mit dem VC-2008-Compiler etwas bringen würde? Boost "unterstüzt" den Compiler sicherlich noch nicht offiziell, letztes Release ist (iirc) von Juli.
Hat jemand eine Idee?
Gruß
-
es gibt in der mailingliste was, also ich habs schon kompiliert bekommen.
ich glaube hiermit:
http://lists.boost.org/boost-users/2007/05/27696.php
-
Was versuchst du denn da? Warum sollte auch eine unter 2005er gebaute Lib unter 2008er funktionieren? Klar, es könnte funktionieren, weil das der optimale Wunschgedanke wäre. Aber es muß nicht.
Normalerweise baut man für jeden Compiler die Libs neu.
-
Das ist sogar mehr oder weniger zwingend für statische Bibliotheken den gleichen Compiler zu verwenden, weil sich zum Teil eben auch die Klassen und implementierungen ändern.
-
Was versuchst du denn da? Warum sollte auch eine unter 2005er gebaute Lib unter 2008er funktionieren?
Dem kann ich mich voll und ganz anschließen. All diese n00bs, die von Sprachen verwöhnt sind, bei denen es egal ist, mit was die Bibliothek übersetzt wurde. Kotzt mich echt an!!111
-
Hallo
Gibt es schon eine Lösung für das Problem? Habe das gleiche auch und weiss nicht wie ich die Lib neu bilden soll. Was ich gefunden geht über linux und das habe ich leider nicht.
-
Hem, wenn ihr es nicht mal schafft auf der Boost-Homepage das Getting Started zu finden, um die Libs zu bauen, frage ich mich, wie ihr eure Projekte erfolgreich beenden... ähm, anfagen wollt?
-
Artchi schrieb:
Hem, wenn ihr es nicht mal schafft auf der Boost-Homepage das Getting Started zu finden, um die Libs zu bauen, frage ich mich, wie ihr eure Projekte erfolgreich beenden... ähm, anfagen wollt?
-
Arrogante Pappnasen!