Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2004-01-19 08:00:37


Hi Zbynek,

> When running bjam from within the mcl directory I get this strange
> output about 'Duplicate name of actural target'. Am I doing something
> wrong? Thanks.

You have:

unit-test test : MCL.cpp ;

exe gg : MCL.cpp ../number//number ;

This requests two compilations of MCL.cpp: one for 'test' with default
properties, and another for 'gg' with some additional properties -- usage
requirements of 'number'.

Boost.Build notices that properties are different, and believes the built
targets should be different as well. But it has no idea how to place those
two targets into different directlories -- after all, they differ only by
<include>.

So, an error is issued.

Two solutions is possible.

1. If MCL.cpp includes something from 'number', add <use>../number//number to
usage requirements of the project. In theory, you should be able to write

unit-test test : MCL.cpp : <use>../number//number ;

But this will fail with the same error since V2 believes difference in <use>
properties is bad too -- which I'll fix right away.

2. If you really want MCL.cpp to be compiled twice, place it in some other
directory:

unit-test test : MCL.cpp : <location-prefix>test

HTH,
Volodya

 


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