Boost logo

Boost :

From: Richard Hadsell (hadsell_at_[hidden])
Date: 2005-08-22 09:05:49


John Maddock wrote:

>I have a suspicion that what's happening is this:
>
>The match_results<const char*> template instance is explicitly instantiated
>in the library, and declared as "extern" in user code (so it uses the
>instance in the library). I suspect that your code is being built with
>inline expansions off, but the release version of the lib doesn't have these
>inline members instantiated in it, so either:
>
>
My code is not built with inlining disabled. For compiling I use '-mp
-pc64 -DBOOST_ENABLE_ASSERT_HANDLER' with the addition of '-O2 -xN
-vec_report0 -DBOOST_DISABLE_ASSERTS' for optimized and '-g' for debug
versions. For linking I use '-Wl,--export-dynamic'.

>1) Try linking to the debug build of the lib when building with inline
>expansion turned off.
>2) uncomment the line // #define BOOST_REGEX_NO_EXTERNAL_TEMPLATES in
>boost/regex/user.hpp and rebuild everything, the regex lib will now be
>slightly smaller, and your exe will be a lot bigger, but it should cure the
>problem.
>
>
I will try this.

>3) Upgrade to Intel 8.1, I realise this might not be possible though.
>
>
We tried 8.1, but it produces code that is slower than g++ 3.4.4 for our
application, so we are retiring the Intel version. It also has a bug
that Intel only fixed in 9.0.

-- 
Dick Hadsell			914-259-6320  Fax: 914-259-6499
Reply-to:			hadsell_at_[hidden]
Blue Sky Studios                http://www.blueskystudios.com
44 South Broadway, White Plains, NY 10601

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk