Boost logo

Boost-Build :

From: Harrie Kraai (hakraai_at_[hidden])
Date: 2005-09-06 15:34:28


Hello all, I've been trying to work with Boost.Build V2 (M10) for a
couple of days now, but I don't seem to get it working for a simple
project using the Boost filesystem library, so now it seems time to get
help.

I'm working on Windows XP, amd 64, Visual C++.NET 2003.
I installed the full Boost 1.33.0 in "Y:\libraries\boost_1_33_0". Then,
afterdownloading the latest bjam I did a build using Boost.Build V1 with
the following command:

Y:libraries\boost_1_33_0> bjam "-sTOOLS=vc-7_1"
--prefix=Y:\libraries\boost --builddir=../boost_tmp_build
--with-python-root=Y:\tools\python24 install

That seems to have worked without problems, so I have an installation in
Y:\libraries\boost now. (Question in between: how could I have done this
using Boost.Build V2? I don't know how to do the option settings then.)

Now, I have a project in the directory
Y:\home\work\programming\wvm2su\
consisting of a single cpp file: wvm2su.cpp, which is supposed to be
compiled into an application, so I made a Jamfile with the single line:

------------------
exe wvm2su : wvm2su.cpp /boost/filesystem ;
------------------

One directory above (Y:\home\work\programming\) I made the following
Jamroot file:

--------------------------
use-project /boost : Y:/libraries/boost_1_33_0 ;

project
: requirements
<include>.
;
----------------------------

this should serve to make the boost modules known to bjam and to
indicate that I have some include files in different subdirectories
(mentioned explicitly in the #include statements).

I think this should be sufficient for a build. However, I get the
following output from bjam, which leads to some questions that I state
below:

--------------------------------------------------
Y:\home\work\programming\wvm2su>bjam
warning: Python location is not configured
warning: the Boost.Python library won't be built
Building Boost.Regex with the optional Unicode/ICU support disabled.
Please refer to the Boost.Regex documentation for more information
(and if you don't know what ICU is then you probably don't need it).
...found 78 targets...
...updating 14 targets...
msvc.compile.c++ bin\msvc\debug\wvm2su.obj
wvm2su.cpp
msvc.compile.c++
Y:\libraries\boost_1_33_0\bin.v2\libs\filesystem\build\msvc\deb
ug\exception.obj
exception.cpp
msvc.compile.c++
Y:\libraries\boost_1_33_0\bin.v2\libs\filesystem\build\msvc\deb
ug\operations_posix_windows.obj
operations_posix_windows.cpp
msvc.compile.c++
Y:\libraries\boost_1_33_0\bin.v2\libs\filesystem\build\msvc\deb
ug\path_posix_windows.obj
path_posix_windows.cpp
msvc.compile.c++
Y:\libraries\boost_1_33_0\bin.v2\libs\filesystem\build\msvc\deb
ug\convenience.obj
convenience.cpp
msvc.link.dll
Y:\libraries\boost_1_33_0\bin.v2\libs\filesystem\build\msvc\debug\
boost_filesystem-vc-d-1_33.dll
Y:\libraries\boost_1_33_0\bin.v2\libs\filesystem\
build\msvc\debug\boost_filesystem-vc-d-1_33.lib
Creating library
Y:\libraries\boost_1_33_0\bin.v2\libs\filesystem\build\msvc\
debug\boost_filesystem-vc-d-1_33.lib and object
Y:\libraries\boost_1_33_0\bin.v2
\libs\filesystem\build\msvc\debug\boost_filesystem-vc-d-1_33.exp
msvc.link bin\msvc\debug\wvm2su.exe
LINK : fatal error LNK1104: cannot open file
'libboost_filesystem-vc71-mt-gd-1_3
3.lib'

call "C:\Program Files\Microsoft Visual Studio .NET
2003\VC7\bin\vcvars32.ba
t" > nul
link /NOLOGO /DEBUG /subsystem:console
/out:"bin\msvc\debug\wvm2su.exe" /INCR
EMENTAL:NO @"bin\msvc\debug\wvm2su.exe.rsp" && del /f
"bin\msvc\debug\wvm2su
.exe.rsp"

...failed msvc.link bin\msvc\debug\wvm2su.exe...
...failed updating 1 target...
...updated 13 targets...
-------------------------------------------------------------

QUESTIONS:

- Why doesn't bjam use my pre-built libraries? I can understand that he
does not really know about them, but how do I then make the location known?

- Ok, so now he builds the libraries 'on demand' in a special puprose
path, but why doesn't he build the right ones then? Why doesn't he find
the libraries he's just made?

- I kind of like the fact that the libraries are built 'on demand', but
how do I then configure a proper path? Also, during a 'bjam clean' these
libs are removed as well. How do I prevent that?

- What are these warnings on Python and so on for? During the build of
the Boost libraries I set the Python path, but here and now it is
irrelevant.

- I get the impression that I'm misunderstanding things, so what is the
proper way of using boost libraries and Boost.Build. I was surprised to
see that none of the examples in the Boost.Build V2 directory actually
uses a boost library. So I don't seem to have a good example.

I think that will do for the moment, and I appreciate your help.

Thanks,

Harrie

 


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