Thanks Vladimir -----Original Message----- From: boost-users-bounces@lists.boost.org [mailto:boost-users-bounces@lists.boost.org] On Behalf Of Vladimir Prus Sent: January-27-11 4:18 AM To: boost-users@lists.boost.org Subject: Re: [Boost-users] Problems compiling those libraries that are not header only on 64 bit Windows 7 Ted Byers wrote:
I used a prebuilt distribution of bjam for all my attempts to build the boost libraries using msvc++. I did not compile it myself.
Please use the bootstrap.bat script to build bjam from the 1.45 release, and then use it.
From the C:\boost_1_45_0 directory, I tried the following to keep the builds for the two versions separate (planning on changing the library directories based on the build environment), but when both finished, both C:\boost_1_45_0\lib\msvc2010\x64 and bjam --build-dir=C:\boost_1_45_0\lib\msvc2010\x32 were empty and C:\boost_1_45_0\stage\lib had 606 items.
bjam --build-dir=C:\boost_1_45_0\lib\msvc2010\x32 --build-type=complete
bjam --build-dir=C:\boost_1_45_0\lib\msvc2010\x64 --build-type=complete
I am somewhat confused -- those two commands differ only in --build-dir
OK, I'll try that today. option, therefore they will build boost using the same version of the same compiler.
If you with to use different versions, specify toolset=msvc-10.0 and toolset=msvc-9.0 during those invocations. Also, use address-model=64 if you wish to build 64-bit libraries. See:
I guess I should have also said I did these in different shells, one with the environment for msvc2005, msvc 2010, and the cygwin bash shell. I thought bjam would pick the right compiler/version from the environment because I had read that it autodetects the right version from the environment.
http://www.boost.org/boost-build2/doc/html/bbv2/reference/tools.html#bbv2.r eference.tools.compiler.msvc
You should also use --stagedir=XXX to put the final build products into different directories. --build-dir is only for specifying intermediate directory.
OK, I see. I didn't find what stage was for, so I didn't use it. Now I will.
And if I execute bjam in status, I get a result that says something like 30 out of 30K tests failed. (Is that normal?)
I think so. Thanks.
Here are the results from my latest attempt using cygwin.
$ ../boost-jam-3.1.18/bin.cygwinx86/bjam --layout=versioned --build-type=complete
warning: No toolsets are configured.
warning: Configuring default toolset "gcc".
warning: If the default is wrong, your build may not work correctly.
warning: Use the "toolset=xxxxx" option to override our guess.
warning: For more configuration options, please consult
warning: http://boost.org/boost-build2/doc/html/bbv2/advanced/configuration.htm l
Building the Boost C++ Libraries.
/home/Ted/boost_1_45_0/tools/build/v2/build/configure.jam:145: in builds-raw
*** argument error
* rule UPDATE_NOW ( targets * : log ? : ignore-minus-n ? )
You need to build bundled bjam using bootstrap.sh
OK, I'll try that today too. Thanks again Ted