j ai un probleme en utilisant boost::regex avec une librairie allegro qui definit BITMAP qui est deja utilise dans WINGDI.h (appele par regex) donc ca compile pas comme ca (redefinition error)
mais en rajoutant le flag #define BOOST_REGEX_NO_W32 ca enleve ce probleme (en incluant pas les entetes windows) mais en rajoute un autre :
je pense que vu que win32 n est plus utiliser ca declenche une erreur de lien dans boost::re_detail (et pas regex) mais pourquoi (le flag etant active...)?main.obj : error LNK2019: unresolved external symbol "void * __cdecl boost::re_detail::get_mem_block(void)" (?get_mem_block@re_detail@boost@@YAPAXXZ) referenced in function "public: __thiscall boost::re_detail::save_state_init::save_state_init(struct boost::re_detail::saved_state * *,struct boost::re_detail::saved_state * *)" (??0save_state_init@re_detail@boost@@QAE@PAPAUsaved_state@12@0@Z)
main.obj : error LNK2019: unresolved external symbol "void __cdecl boost::re_detail::put_mem_block(void *)" (?put_mem_block@re_detail@boost@@YAXPAX@Z) referenced in function "public: __thiscall boost::re_detail::save_state_init::~save_state_init(void)" (??1save_state_init@re_detail@boost@@QAE@XZ)
Debug/inventaire.exe : fatal error LNK1120: 2 unresolved externals
et en mettant la definition de BITMAP entre /* */ et en enleve le flage ca compile sans probleme mais c pas une solution
et je me demandai aussi la difference entre:
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 std::copy(boost::sregex_token_iterator(ligne.begin(),ligne.end(), re, 0), boost::sregex_token_iterator(), std::back_inserter(temp));
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 boost::regex_split(std::back_inserter(temp), ligne, re);
Partager