Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2006-02-13 04:21:37

> I'm having problems integrating v2 with my application and
> boost. What I'm trying to do is to make in my application build
> automatically what is needed in boost.
> I have a test that is like this:
> project mintercept/mail/test ;
> import testing ;
> test-suite mail
> : [ run test.cpp
> $(MINTERCEPT_ROOT)/libs/boost/libs/test/build//boost_unit_test_framework
> ]
> ;
> It compiles boost_unit_test_framework, and creates this tree from the
> root of my application:
> libs\boost\bin.v2\libs\test\build\msvc-7.1\debug\asynch-exceptions-on\link-
>static The .lib created is: boost_unit_test_framework-vc71-d-1_34.lib
> But the linker complains:
> LINK : fatal error LNK1104: cannot open file
> 'libboost_unit_test_framework-vc71- mt-gd-1_34.lib'

Can you remove the "test.o" file produced from your "test.cpp" file (or touch
test.cpp), then run

    bjam --v2 -n

and post the output? I think the autolinking code thinks you're building
multi-thread application, while Boost.Build is building single-thread

Can you build and run the following test application (without linking it to

    #include <boost/config.hpp>
    #include <stdio.h>
   int main()
#if defined(_MT) || defined(__MT__)
       printf("MT build\n");
       printf("ST build\n");

? That will help us to get right to the root of the problem.

> What do I do? Should I disable auto linking? If it is so, how do I do?

You can add <define>BOOST_ALL_NO_LIB=1 to the target's requirements, and it
might be good idea anyway, because Boost.Build will link to the library
itself, but it will be also desirable to debug the autolink problem -- just
in case in future you'd prefer to use autolink for some reason.

- Volodya

Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at