Boost logo

Boost :

From: John Maddock (john_at_[hidden])
Date: 2005-02-07 05:57:59


> libboost_regex-vc71-mt-sgd-1_32.lib

That's the debug multithreaded library with a static C runtime, you can only
link to that if you are using /MTd

> However, I am seeing the following errors:
>
> LINK : warning LNK4098: defaultlib 'LIBCMTD' conflicts with use of other
> libs; use /NODEFAULTLIB:library
>
> main.obj : error LNK2019: unresolved external symbol "void * __cdecl
> boost::re_detail::get_mem_block(void)"
> (?get_mem_block_at_re_detail_at_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_at_re_detail_at_boost@@QAE_at_PAPAUsaved_state_at_12@0_at_Z)

That function is only used if:

1) You are using STLPort: in that case, you must build Boost.Regex with
STLport as well, you may also find that the LNK4098 error only goes away if
you use a dll runtime (seems to be an STLport issue, but I'm not sure), you
can still static link STLport and Boost.Regex if you are using the dll C
runtime BTW.

2) You have defined BOOST_REGEX_NON_RECURSIVE somewhere, in which case
you'll also have to rebuild Boost.Regex with it defined (add the define to
boost/regex/user.hpp for example).

HTH,

John.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk