[RESOLU] Pb LINK lib Boost wpath (et wstring) - UNICODE ?

Pb LINK lib Boost wpath (et wstring) - UNICODE ? [RESOLU] - C++ - Programmation

Marsh Posté le 16-10-2008 à 09:28:14    

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
Reply

Marsh Posté le 16-10-2008 à 09:28:14   

Reply

Marsh Posté le 16-10-2008 à 12:13:43    

Résolu, tout venait de l'option /Zc:wchar_t-
 
Si Microsoft expliquait un peu mieux toutes les notions de chaque option de son compilateur, j'en serais pas là.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed