Boost logo

Boost Users :

From: John Maddock (john_maddock_at_[hidden])
Date: 2002-02-23 07:26:56


>Run-time Library: Multithreaded DLL/Debug Multithreaded DLL
>
>I've got a couple of problems trying to get my app to link against regex.
>
>I've tried linking to the debug and release versions of both the DLL and
>non-DLL versions of the regex library and in each case I get errors about
>unresolved external symbols for w32_regex_traits.
>
>w32_regex_traits.obj has been produced by Jam.
>
>In addition the static version winges about lots of locally defined
symbols.
>
>I've specified BOOST_REGEX_NO_LIB as the generated filenames are not what
>Jam produces.

There could be a number of problems:

Where the libs compiled with STLport (even a small error in the STLport
include path could have messed this up)?
The debug STLport libs are probably compiled by jam with __STL_DEBUG
defined, your source will need to set this also.

If you want to check your jam compiled libs, get a dump of the symbols they
contain - if they're using the Dinkumware std lib then you'll see them
referencing std::basic_string, release STLport will reference
_STL::basic_string, and debug STLport will reference _STLD::basic_string.

Failing that just create a static lib project in your IDE and add the regex
sources to that with the build setting you want (this is probably the
quickest solution IMO).

Finally define BOOST_REGEX_STATIC_LINK to suppress the import/export
warnings

- John Maddock
http://ourworld.compuserve.com/homepages/john_maddock/


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net