List Info

Thread: question about boost includes on cygwin/win32




question about boost includes on cygwin/win32
country flaguser name
United States
2007-08-05 21:35:08
Hi,

Hope this isn't too stoopid of a question...

I just started using boost.build on win32 (coming from Linux) and I've encountered something unexpected.

It appears that cygwin installs the boost headers in a directory called "/usr/include/boost-VERSION/" (presently, "/usr/include/boost-1_33_1/" for me).

On Linux (FC6), the boost headers are installed in "/usr/include/boost/".  (No, it's not a symlink.)

So, of course, includes like

  ;  #define <boost/shared_ptr.h>

in my source cannot be found.

I have temporarily fixed the problem in user-config.jam by adding:

 &nbsp;  <cxxflags>-Id:cygwinusrincludeboost-1_33_1

This seems fairly nasty to me though, because now everyone on the project has to know and/or remember to update user-config.jam whenever boost is updated.

Is there a better way to handle this situation (in boost.build)?

Thanks,

~ray
-- 
In a world without walls and fences, who needs windows and gates?
Re: question about boost includes on cygwin/win32
country flaguser name
United States
2007-08-05 22:08:10
Ray Lambert wrote:
> Hi,
> 
> Hope this isn't too stoopid of a question...
> 
> I just started using boost.build on win32 (coming from
Linux) and I've 
> encountered something unexpected.

Which version of Boost.Build? I ask because it seems you are
using Boost 
1.33.1 below.

> It appears that cygwin installs the boost headers in a
directory called 
> "/usr/include/boost-VERSION/" (presently,
"/usr/include/boost-1_33_1/" 
> for me).
> 
> On Linux (FC6), the boost headers are installed in 
> "/usr/include/boost/".  (No, it's not a
symlink.)

Yea, that would be the Redhat packagers. If you
build+install manually 
they would end up in the same place as you observe for
Cygwin.

> So, of course, includes like
> 
>    #define <boost/shared_ptr.h>
> 
> in my source cannot be found.
> 
> I have temporarily fixed the problem in user-config.jam
by adding:
> 
>   
<cxxflags>-Id:cygwinusrincludeboost-1_33_1
> 
> This seems fairly nasty to me though, because now
everyone on the 
> project has to know and/or remember to update
user-config.jam whenever 
> boost is updated.
> 
> Is there a better way to handle this situation (in
boost.build)?

Add:

  
<target-os>cygwin:<include>/usr/include/boost-1_
33_1

To your project targets, either as a project requirement or
to selected 
targets as needed. I'm assuming you are using the latest
Boost.Build v2 
code for this. If you aren't please answer my first question
and we can 
give you a more precise answer.


-- 
-- Grafik - Don't Assume Anything
-- Redshift Software, Inc. - http://redshift-software
.com
-- rrivera/acm.org - grafik/redshift-software.com
-- 102708583/icq - grafikrobot/aim - grafikrobot/yahoo
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build

[1-2]

about | contact  Other archives ( Real Estate discussion Medical topics )