From: Jurko GospodnetiÄ (jurko.gospodnetic_at_[hidden])
Date: 2008-03-21 02:13:20
> I have Visual C++ 6, VC++ 2003 and VC++ 2005 installed on my computer. I
> downloaded boost_1_34_1 and the most recent version of bjam.
> I tried to build the regex library with the following batch file:
> set PATH=C:\Program Files (x86)\Microsoft Visual
> call vcvars32.bat
> bjam --prefix=C:\Libraries\boost_1_34_1 -q -d+2 --with-regex
> --toolset=msvc stage
> but it seems that it builds with the VC++ 2005 compiler: the libraries
> and dlls have 80 in their name, and in the output of bjam I see that
> VC++ 2005 is called with its complete path. How do I specify that I want
> it to use VC++ 6?
> I find it very confusing that bjam is calling an application of which
> you thought it couldn't find because it is not on the path.
Actually whether you run vcvars32.bat on the command line or not does
not matter to Boost Build's msvc toolset. It runs its own environment
setup script before each command. Which one depends on the exact
compiler chosen but you can also set it explicitly as a parameter to the
using rule used to configure the available the msvc toolset. See the
documentation and the msvc toolset script for more detailed information.
Here you have not configured your msvc toolset precisely so it uses
2005 as a 'best guess'.
> From an earlier version of bjam I remember that you could specify
> msvc-6_5 for the toolset, but when I try that now, I get errors about
> /Ze and /Za options being incompatible.
This syntax should still work, possibly only with a dot (.) instead
of an underscore (_), as in msvc-6.5. However since this is a really old
compiler I do not know if anyone is actually maintaining compatibility
between it and the Boost Build msvc toolset script.
Hope this helps.
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