|
Boost Users : |
From: Mike Marchywka (marchywka_at_[hidden])
Date: 2007-10-02 15:35:44
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_at_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" <john_at_[hidden]>
>Reply-To: boost-users_at_[hidden]
>To: <boost-users_at_[hidden]>
>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_at_[hidden]
>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
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