Hi,
I'm using Windows 7 (64 bit) and I'm trying to compile and link my
code against the regex libraries. It compiles fine, but at link time, it
can't find any of the methods in the regex library. But the methods it's
looking for are prefixed by "__cdecl". I've tried compiling my code with
the /Gd and /Gz options, and neither seemed to work.
Here's what the error looks like:
[ERROR] ResourceURI.obj : error LNK2019: unresolved external symbol
"private: class boost::basic_regex > &
__cdecl boost::basic_regex >::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)
referenced in function "public: class boost::basic_regex > &
__cdecl boost::basic_regex >::assign(char const *,char const
*,unsigned int)"
(?assign@?$basic_regex@DU?$regex_traits@DV?$w32_regex_traits@D@boost@@@boost@@@boost@@QEAAAEAV12@PEBD0I@Z)
[ERROR] ResourceService.obj : error LNK2001: unresolved external symbol
"private: class boost::basic_regex > &
__cdecl boost::basic_regex >::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)
[ERROR] AtomicParsingExpression.obj : error LNK2001: unresolved external
symbol "private: class boost::basic_regex > &
__cdecl boost::basic_regex >::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)
[ERROR] AbstractLoopingVariable.obj : error LNK2001: unresolved external
symbol "private: class boost::basic_regex > &
__cdecl boost::basic_regex >::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)
When I do a dumpbin /symbols on the regex library I built, it does
contain the methods above (as far as I can tell)
26F 00000000 SECT92 notype () External |
?assign@?$basic_regex@DU?$regex_traits@DV?$w32_regex_traits@D@boost@@@boost@@@boost@@QAEAAV1
2@PBD0I@Z (public: class boost::basic_regex > &
__thiscall boost: :basic_regex
::assign(char const *,char const *,unsigned int))
CB4 00000000 SECT40D notype () External |
?do_assign@?$basic_regex@DU?$regex_traits@DV?$w32_regex_traits@D@boost@@@boost@@@boost@@AAEAAV12@PBD0I@Z
(private: class boost::basic_regex > &
__thiscall boost::basic_regex >::do_assign(char const *,char const
*,unsigned int))
Any ideas on how to get my programs to link against the methods in the
regex library?
Thanks,
Ven