$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
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