Thanks. If I have to guess at this point, I think it is a quirk of my cygwin install or version- it is also possible I have intermixed boost files but still a bit confusing. AFAIK, everything is working right now except the try/catch so maybe I can let it go until I can safely upgrade my tools. $ g++ -v Reading specs from /usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/specs Configured with: /gcc/gcc-3.3.3-3/configure --verbose --prefix=/usr --exec-prefi x=/usr --sysconfdir=/etc --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/s hare/man --infodir=/usr/share/info --enable-languages=c,ada,c++,d,f77,java,objc, pascal --enable-nls --without-included-gettext --enable-libgcj --with-system-zli b --enable-interpreter --enable-threads=posix --enable-java-gc=boehm --enable-sj lj-exceptions --disable-version-specific-runtime-libs --disable-win32-registry Thread model: posix gcc version 3.3.3 (cygwin special) $ g++ -I. t.cpp -L./lib -lboost_regex-gcc-mt Info: resolving vtable for boost::regex_errorby linking to __imp___ZTVN5boost11r egex_errorE (auto-import) Administrator@TESTBED01 /cygdrive/c/mydocs/scripts/cc/affx/boost $ ./a [ <<<<<<<<<< This pops up a dialog box about missing dll ] Administrator@TESTBED01 /cygdrive/c/mydocs/scripts/cc/affx/boost $ cygcheck a.exe Found: c:\mydocs\scripts\cc\affx\boost\a.exe c:/mydocs/scripts/cc/affx/boost/a.exe Error: could not find cygboost_regex-gcc-mt-1_33_1.dll C:\WINNT\cygwin1.dll C:\WINNT\system32\ADVAPI32.DLL C:\WINNT\system32\KERNEL32.dll C:\WINNT\system32\ntdll.dll C:\WINNT\system32\RPCRT4.dll Error: could not find cygboost_regex-gcc-mt-1_33_1.dll Administrator@TESTBED01 /cygdrive/c/mydocs/scripts/cc/affx/boost $ cp ../cygboost_regex-gcc-mt-1_33_1.dll . Administrator@TESTBED01 /cygdrive/c/mydocs/scripts/cc/affx/boost $ ./a Aborted (core dumped) Administrator@TESTBED01 /cygdrive/c/mydocs/scripts/cc/affx/boost $
From: "John Maddock"
Reply-To: boost-users@lists.boost.org To: Subject: Re: [Boost-users] question on boost::regex expression(query); Date: Wed, 3 Oct 2007 09:46:35 +0100 Mike Marchywka wrote:
Same problem during link and runtime with only dll. The static choice should avoid dll problems so maybe I'll give that another look. Thanks again.
Well it works for me with the Boost-1.33.1 install supplied with current cygwin, the test program is:
#include
#include <iostream> int main() { try{ boost::regex e("(?<=GU.*?TACTAAC.{20,40}AG|^)?(GU.*?TACTAAC.{20,40}AG|$)"); } catch(boost::regex_error e) { std::cout << "Caught a regex_error" << std::endl; std::cout << e.what() << std::endl; } catch(std::exception e) { std::cout << "Caught a std::exception" << std::endl; std::cout << e.what() << std::endl; } }
and then:
$ g++ -I /usr/include/boost-1_33_1 t.cpp -lboost_regex-gcc-mt Info: resolving vtable for boost::regex_errorby linking to __imp___ZTVN5boost11regex_errorE (auto-import)
$ ./a Caught a regex_error Invalid regular expression
Which is what I would expect in that case.
HTH, John.
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
_________________________________________________________________ Boo! Scare away worms, viruses and so much more! Try Windows Live OneCare http://onecare.live.com/standard/en-us/purchase/trial.aspx?s_cid=wl_hotmailn...