Boost logo

Boost :

Subject: [boost] [Boost.Build] Unexpected MSVC linker error
From: Sergey Zubkovsky (sergzub_at_[hidden])
Date: 2009-10-10 16:50:10


Hi,

I'm using bjam and VC++2008 Express Edition to build date_time library,
for example.
When I try to link it with my project I have the error:

LINK : fatal error LNK1104: cannot open file
'boost_date_time-vc90-mt-gd-1_40.lib'

The bjam's command line options are : --layout=tagged toolset=msvc
The name of the genereated lib file is "boost_date_time-mt-gd.lib".
The error doesn't occur if the "--layout" option is "versioned" or
"system".
It seems to me that the cause of this behavior is the following text in
the file "boost\config\auto_link.hpp":

#ifndef BOOST_AUTO_LINK_NOMANGLE
# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME)
"-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-"
BOOST_LIB_VERSION ".lib")
# ifdef BOOST_LIB_DIAGNOSTIC
# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX
BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET
BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION ".lib")
# endif
#else
# pragma comment(lib, BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib")
# ifdef BOOST_LIB_DIAGNOSTIC
# pragma message ("Linking to lib file: "
BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib")
# endif
#endif

"-" BOOST_LIB_VERSION ".lib" is always added in the "pragma comment"
directive, if BOOST_AUTO_LINK_NOMANGLE is undefined, of cause.

Is this a bug?
How can I workaround it if this is not a bug?

Thank you.


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