Problème de link avec Boost (1.35) depuis que j'utilise wpath au lieu de path, et wstring au lieu de string
J'ai modifié l'ensemble de mon code pour qu'il puisse accepter des chaines de caractère multilangue (on va dire UNICODE), j'ai du changer pas mal de std::string en std::wstring
et par voie de conséquence, les chemins boost::filesystem::path j'ai du les changer en boost::filesystem::wpath
Mais depuis ces changements, j'ai quelques erreurs de LINK sur les lib Boost dont j'ignore la cause exacte, alors pour corriger, bonjour.
Je me demande s'il ne faudrait pas que je recompile de nouvelles lib boost en UNICODE, car j'ai cru comprendre que ce n'était pas inclu dans la version "normale" (même si je considère que tout le monde devrait faire ses programmes en unicode)
En gros, ça touche l'usage de (direct ou indirect dans mon code, par exemple, je n'utilise pas status_api, mais il y a surement qqchose qui l'utilise) :
boost::filesystem::detail::status_api
boost::filesystem::detail::dir_itr_increment
boost::filesystem::detail::dir_itr_first
Je me demande ce qu'ils ont caché comme boulette pour en arriver là.
LOG d'erreur :
Error 2 error LNK2019: unresolved external symbol "class boost::filesystem::file_status __cdecl boost::filesystem::detail::status_api(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,class boost::system::error_code & )" (?status_api@detail@filesystem@boost@@YA?AVfile_status@23@ABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAVerror_code@system@3@@Z) referenced in function "bool __cdecl boost::filesystem::is_regular<class boost::filesystem::basic_path<class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >,struct boost::filesystem::wpath_traits> >(class boost::filesystem::basic_path<class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >,struct boost::filesystem::wpath_traits> const & )" (??$is_regular@V?$basic_path@V?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@Uwpath_traits@filesystem@boost@@@filesystem@boost@@@filesystem@boost@@YA_NABV?$basic_path@V?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@Uwpath_traits@filesystem@boost@@@01@@Z) DirectoryInfoManager.obj
Error 3 error LNK2001: unresolved external symbol "class boost::filesystem::file_status __cdecl boost::filesystem::detail::status_api(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,class boost::system::error_code & )" (?status_api@detail@filesystem@boost@@YA?AVfile_status@23@ABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAVerror_code@system@3@@Z) Patch.obj
Error 4 error LNK2019: unresolved external symbol "class boost::system::error_code __cdecl boost::filesystem::detail::dir_itr_increment(void * &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > &,class boost::filesystem::file_status &,class boost::filesystem::file_status & )" (?dir_itr_increment@detail@filesystem@boost@@YA?AVerror_code@system@3@AAPAXAAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAVfile_status@23@2@Z) referenced in function "private: void __thiscall boost::filesystem::basic_directory_iterator<class boost::filesystem::basic_path<class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >,struct boost::filesystem::wpath_traits> >::increment(void)" (?increment@?$basic_directory_iterator@V?$basic_path@V?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@Uwpath_traits@filesystem@boost@@@filesystem@boost@@@filesystem@boost@@AAEXXZ) Patch.obj
Error 5 error LNK2019: unresolved external symbol "class boost::system::error_code __cdecl boost::filesystem::detail::dir_itr_first(void * &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > const &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > &,class boost::filesystem::file_status &,class boost::filesystem::file_status & )" (?dir_itr_first@detail@filesystem@boost@@YA?AVerror_code@system@3@AAPAXABV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@AAV67@AAVfile_status@23@3@Z) referenced in function "private: class boost::system::error_code __thiscall boost::filesystem::basic_directory_iterator<class boost::filesystem::basic_path<class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >,struct boost::filesystem::wpath_traits> >::m_init(class boost::filesystem::basic_path<class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >,struct boost::filesystem::wpath_traits> const & )" (?m_init@?$basic_directory_iterator@V?$basic_path@V?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@Uwpath_traits@filesystem@boost@@@filesystem@boost@@@filesystem@boost@@AAE?AVerror_code@system@3@ABV?$basic_path@V?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@Uwpath_traits@filesystem@boost@@@23@@Z) Patch.obj
Message édité par NounouRs le 22-10-2008 à 09:19:25