64bit boost::regex link error
Hi, I am trying to port a 32bit application built on 32bit windows to 64bit. We are using boost::regex library. We have successfully built 64 bit version of boost. When we try to link our application with boost::regex we get the following error. What could be the reason? We are using MS Windows 7 64bit, MS Visual studio 2010, and boost 1.46.1 This is the how we built boost # bjam --build-type=minimal --with-regex --address-model=64 This is the error reported. myfile.obj : error LNK2001: unresolved external symbol "private: class boost::basic_regex<char,struct boost::regex_traits<char,class boost::w32_regex_traits<char> > > & __cdecl boost::basic_regex<char,struct boost::regex_traits<char,class boost::w32_regex_traits<char> > >::do_assign(char const *,char const *,unsigned int)" (?do_assign@?$basic_regex@DU?$regex_traits@DV?$w32_regex_traits@D@boost@@@boost@@@boost@@AEAAAEAV12@PEBD0I@Z) myfile.obj : error LNK2001: unresolved external symbol "private: void __cdecl boost::re_detail::perl_matcher<char const *,class std::allocator<struct boost::sub_match<char const *> >,struct boost::regex_traits<char,class boost::w32_regex_traits<char> >
::construct_init(class boost::basic_regex<char,struct boost::regex_traits<char,class boost::w32_regex_traits<char> > > const &,enum boost::regex_constants::_match_flags)" (?construct_init@?$perl_matcher@PEBDV?$allocator@U?$sub_match@PEBD@boost@@@std@@U?$regex_traits@DV?$w32_regex_traits@D@boost@@@boost@@@re_detail@boost@@AEAAXAEBV?$basic_regex@DU?$regex_traits@DV?$w32_regex_traits@D@boost@@@boost@@@3@W4_match_flags@regex_constants@3@@Z)
myfile.obj : error LNK2001: unresolved external symbol "public: bool __cdecl boost::re_detail::perl_matcher<char const *,class std::allocator<struct boost::sub_match<char const *> >,struct boost::regex_traits<char,class boost::w32_regex_traits<char> >
::find(void)" (?find@?$perl_matcher@PEBDV?$allocator@U?$sub_match@PEBD@boost@@@std@@U?$regex_traits@DV?$w32_regex_traits@D@boost@@@boost@@@re_detail@boost@@QEAA_NXZ)
Thanks, Lloyd
Hi Lloyd, On Thursday, 1. September 2011 09:27:42 Lloyd wrote:
This is the how we built boost
# bjam --build-type=minimal --with-regex --address-model=64
that builds a 32-bit Boost. The correct line is bjam --build-type=minimal --with-regex address-model=64
This is the error reported.
Yes, linking to an incompatible library. Yours, Jürgen -- Dipl.-Math. Jürgen Hunold | IVE mbH Software-Entwickler | Lützerodestraße 10 Tel: +49 511 897668 33 | 30161 Hannover, Germany Fax: +49 511 897668 29 | http://www.ivembh.de juergen.hunold@ivembh.de | | Geschäftsführer: Sitz des Unternehmens: Hannover | Univ.-Prof. Dr.-Ing. Thomas Siefer Amtsgericht Hannover, HRB 56965 | PD Dr.-Ing. Alfons Radtke
participants (2)
-
Jürgen Hunold
-
Lloyd