|
Boost Users : |
Subject: [Boost-users] Problem using Boost regex
From: John Emmas (johne53_at_[hidden])
Date: 2009-12-07 06:22:02
If my previous post makes it to the mailing list, please ignore it
(I figured out some of the original confusion). Here's the problem
I'm left with:-
A couple of days ago I installed libboost (v1.40) using the Windows
setup.exe file. To get myself started I decided to build the regex example
that I found here:-
http://www.cs.brown.edu/~jwicks/boost/libs/regex/doc/introduction.html
My installation contains DLLs called:-
boost_regex-vc80-mt-1_40.dll
and
boost_regex-vc80-mt-gd-1_40.dll
along with their associated link libs - and here's the example, as
I built it:-
#include <string>
#include <boost/regex.hpp>
using namespace std;
using namespace boost;
bool validate_card_format(const string s)
{
static const boost::regex e("(\\d{4}[- ]){3}\\d{4}");
return regex_match(s, e);
}
// and further on, I call the above function....
bool bb = validate_card_format("1111 2222 3333 4444");
If I link my app to boost_regex-vc80-mt-gd-1_40.lib (or if I don't link it
to boost at all) the app won't run. In either case if I try to launch my
app I see a dialog box telling me that the configuration is incorrect
(possibly a problem with manifests?)
OTOH If I link my app to boost_regex-vc80-mt-1_40.lib, I get a crash at the
above call - i.e. at 'bb = validate_card_format("1111 2222 3333 4444");'
The crash is caused by an unhandled exception in 'basic_regex::assign'. The
exception occurs at the call to 'do_assign()' and I get this message:-
boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<std::runtime_error>
> at memory location 0x0012f4e4.
I'm guessing that I should have configured something between installing
boost and starting to use it. Have I missed a step out somewhere?
Thanks,
John
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