Boost logo

Boost Users :

From: Norbert Unterberg (nunterberg_at_[hidden])
Date: 2007-05-31 01:59:55


Andreas Sedlmeier schrieb:

> I currently need to wrap some of the functionality string algorithms
> and Boost.Regexp offers in Windows DLLs; the developemnt environment I
> use is VS2005.
[...]

> Failure is exactly here (regex_format.hpp):
> template <class OutputIterator, class Results, class traits>
> void basic_regex_formatter<OutputIterator, Results, traits>::put(const
> sub_match_type& sub)
> {
> typedef typename sub_match_type::iterator iterator_type;
> iterator_type i = sub.first;
> while(i != sub.second)
> {
> put(*i);
> ++i;
> }
> }
>
> in the line "while(i != sub.second)"

Are you already creating a DLL and using it from an application?

If yes, then you need to be very careful. If your DLL interface contains C++
objects (and is not just a plain C interface), then the DLL must be compiled
with exactly the same compiler switches and project defines as the application.
You can not run a DEBUG DLL with the release version of the application. YOu can
not use the release DLL with the debug version of the application. You can not
statically link the C/C++ runtime library to the DLL and use the DLL version of
the runtime lib with the APP. Both modules must have the same settings for
interator debugging.

I guess you are having a windows DLL problem, not a boost problem. Tell us more
about your project setup, maybe we can help then.

Norbert Unterberg


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