|
Boost : |
Subject: Re: [boost] [Modularization] A new approach to header modularization
From: Christopher Jefferson (chris_at_[hidden])
Date: 2009-06-03 14:46:33
On 3 Jun 2009, at 17:59, Ulrich Eckhardt wrote:
> On Wednesday 03 June 2009 15:00:43 Christopher Jefferson wrote:
>> Now lets imagine I want to include functional (a header-only
>> library).
>>
>> #include <boost/functional.hpp> // Fails
>> #include <boost-1_39/boost/functional.hpp> // Fails with bizarre
>> errors
>>
>> So I have to add:
>>
>> -I/usr/local/include/boost-1_39
>>
>> Which of course won't work if I then go to another computer, where
>> boost isn't in /usr/local/include
>
> I know this problem. A well-written Makefile should use variables
> like CFLAGS,
> CXXFLAGS, CPPFLAGS and LDFLAGS. You can then create a simple script
>
> export CXX=g++-4.4
> export CC=gcc-4.4
> export CPPFLAGS="-I /home/uli/include -I /home/uli/devel/Boost-trunk"
> export LDFLAGS="-L /home/uli/lib"
>
> which sets up the environment accordingly. This requires people to
> understand
> what these flags mean, but I don't think they can't learn that, and
> the
> knowledge is even useful elsewhere.
That still doesn't solve the problem that the libraries' name is
mangled strangely with the default build system (although not with --
layout=system it seems). Also, if I just want to transmit a file
without a Makefile, for many libraries I still don't need even that.
Chris
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk