
Adam Badura wrote:
I am using regex_p parser in Spirit. This uses Boost.Regex. The code compiles fine but does not link. Error messages are (debug mode, static linking, Boost 1.42): -------------------- 1>configuration.obj : error LNK2019: unresolved external symbol "public: void __thiscall boost::re_detail::raw_storage::resize(unsigned int)" (?resize@raw_storage@re_detail@boost@@QAEXI@Z) referenced in function "public: void * __thiscall boost::re_detail::raw_storage::extend(unsigned int)" (?extend@raw_storage@re_detail@boost@@QAEPAXI@Z) 1>configuration.obj : error LNK2019: unresolved external symbol "public: void * __thiscall boost::re_detail::raw_storage::insert(unsigned int,unsigned int)" (?insert@raw_storage@re_detail@boost@@QAEPAXII@Z) referenced in function "public: struct boost::re_detail::re_syntax_base * __thiscall boost::re_detail::basic_regex_creator
::insert_state(int,enum boost::re_detail::syntax_element_type,unsigned int)" (?insert_state@?$basic_regex_creator@DU?$regex_traits@DV?$cpp_regex_traits@D@boost@@@boost@@@re_detail@boost@@QAEPAUre_syntax_base@23@HW4syntax_element_type@23@I@Z)
1>D:\Studies\Thesis\Debug\prover.exe : fatal error LNK1120: 2 unresolved externals --------------------
The interesting thing is that if I turn language extensions on (/Za option) in the project the problem disappears.
I believe this option changes ABI, therefore both your project and Boost.Regex must be build with the same value of this option. Does this help? - Volodya