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. $ make boostd_rules_annotater g++ -Wall -ggdb -mthreads -msse -O3 -I . \ -o rules_annotater boost_rules_annotater.o \ -lpthread -L./boost -lmyboost -L./boost/lib -L. -lcygboost_regex-gcc-mt-1_33_1 -L./greta -lmygreta -ljpeg -lm -Lgreta bio_lo_level_string.o Info: resolving vtable for boost::regex_errorby linking to __imp___ZTVN5boost11r egex_errorE (auto-import) Administrator@TESTBED01 /cygdrive/c/mydocs/scripts/cc/affx $ /cygdrive/e/new/exp/brew/msbin/DUMPBIN /EXPORTS cygboost_regex-gcc-mt-1_33_1. dll | grep regex_error 33 20 0001B2E0 _ZN5boost11regex_errorC1ENS_15regex_constants10error_t ypeE 34 21 0001AE60 _ZN5boost11regex_errorC1ERKSsNS_15regex_constants10err or_typeEi 35 22 0001B450 _ZN5boost11regex_errorC2ENS_15regex_constants10error_t ypeE 36 23 0001AE20 _ZN5boost11regex_errorC2ERKSsNS_15regex_constants10err or_typeEi 37 24 0001AEE0 _ZN5boost11regex_errorD0Ev 38 25 0001AEC0 _ZN5boost11regex_errorD1Ev 39 26 0001AEA0 _ZN5boost11regex_errorD2Ev 444 1BB 0001B1F0 _ZNK5boost11regex_error5raiseEv 545 220 00093950 _ZTIN5boost11regex_errorE 558 22D 00093DA8 _ZTSN5boost11regex_errorE 571 23A 00094868 _ZTVN5boost11regex_errorE $ cygcheck rules_annotater.exe Found: c:\mydocs\scripts\cc\affx\rules_annotater.exe c:/mydocs/scripts/cc/affx/rules_annotater.exe C:\WINNT\cygwin1.dll C:\WINNT\system32\ADVAPI32.DLL C:\WINNT\system32\KERNEL32.dll C:\WINNT\system32\ntdll.dll C:\WINNT\system32\RPCRT4.dll c:\mydocs\scripts\cc\affx\cygboost_regex-gcc-mt-1_33_1.dll http://www.cygwin.com/ml/cygwin/2004-08/msg00753.html --enable-auto-import Do sophisticated linking of _symbol to __imp__symbol for DATA imports from DLLs, and create the necessary thunking symbols when building the import libraries with those DATA exports. Note: Use of the 'auto-import' extension will cause the text section of the image file to be made writable. This does not conform to the PE-COFF format specification published by Microsoft. Using 'auto-import' generally will 'just work' -- but sometimes you may see this message: "variable '<var>' can't be auto-imported. Please read the documentation for ld's --enable-auto-import for details." This message occurs when some (sub)expression accesses an address ultimately given by the sum of two constants (Win32 import tables only allow one). Instances where this may occur include accesses to member fields of struct variables imported from a DLL, as well as using a constant index into an array variable imported from a DLL. Any multiword variable (arrays, structs, long long, etc) may trigger this error condition. However, regardless of the exact data type of the offending exported variable, ld will always detect it, issue the warning, and exit. There are several ways to address this difficulty, regardless of the data type of the exported variable:
From: "John Maddock"
Reply-To: boost-users@lists.boost.org To: Subject: Re: [Boost-users] question on boost::regex expression(query); Date: Tue, 2 Oct 2007 18:45:30 +0100 Mike Marchywka wrote:
Well, I wanted a static build but couldn't get that to work and then I realized it needed a dll only when I tried to run in different location. These are the lib's I have.
$ ls ./boost/lib | grep regex libboost_regex-gcc-mt-1_33_1.a libboost_regex-gcc-mt-s-1_33_1.a libboost_regex-gcc-mt-s.a libboost_regex-gcc-mt.a
Linking against the static produced undefines such as
./boost/lib/libboost_regex-gcc-mt-s-1_33_1.a(cpp_regex_traits.o):cpp_regex_trait
s.cpp:(.text+0x4cf): undefined reference to `__gnu_cxx::__exchange_and_add(int v olatile*, int)'
Looks like you need -lpthread or maybe -rt (I can't remember which symbols are in which cygwin dll).
so it looked like the non-static was working.
It probably should as long as you're only linking to *one* regex library :-)
John.
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
_________________________________________________________________ A place for moms to take a break! http://www.reallivemoms.com?ocid=TXT_TAGHM&loc=us