|
Boost-Build : |
From: Vladimir Prus (ghost_at_[hidden])
Date: 2006-02-13 04:21:37
> I'm having problems integrating boost.build v2 with my application and
> boost. What I'm trying to do is to make boost.build 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
application.
Can you build and run the following test application (without linking it to
anything)?:
#include <boost/config.hpp>
#include <stdio.h>
int main()
{
#if defined(_MT) || defined(__MT__)
printf("MT build\n");
#else
printf("ST build\n");
#endif
}
? 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 acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk