[C++-sig] Re: Problem with vc++ 7

Rene Rivera grafik666 at redshift-software.com
Mon Nov 25 22:48:25 CET 2002


[2002-11-25] Mike Rovner wrote:

>I am a complete stranger to Jam and scanning manual and tutorial seems to
>confirm that "Jam has simple yet unintuitive language."
>
>"David Abrahams" <dave at boost-consulting.com> wrote in message
>news:ufztuwhkc.fsf at boost-consulting.com...
>> This is why I tell people to use Jamfiles.
>>
>>     subproject libs/python/user ;
>>
>>     # bring in the rules for python
>>     SEARCH on python.jam = $(BOOST_BUILD_PATH) ;
>>     include python.jam ;
>>
>>     extension hippo : PyApp.cxx pyhippo.cxx <dll>../build/boost_python ;
>>     boost-python-runtest hippo : test.py <pyd>hippo ;
>
>How to include my files from c:/a/b/c/include dir and libs (say
>c:/d/e/f.lib)?
>
>When I say:
>    extension t1 : t1.cpp
>    <dll>../build/boost_python
>    <include>c:/a/b/c/include
>    <lib>c:/d/e/f
>    ;
>
>bjam complains:
>
>C:/d/e/Jamfile : No such file
>C:\BKutil\boost_1_29_0\tools\build\boost-base.jam:1455: in
>find-compatible-subvariant
>*** argument error
>* rule is-link-compatible ( feature : value1 : value2 )
>* called with: ( <target-type> : PYD :  )
>* missing argument value2
>C:\BKutil\boost_1_29_0\tools\build\boost-base.jam:1416:see definition of
>rule 'is-link-compatible' being called
>C:\BKutil\boost_1_29_0\tools\build\boost-base.jam:1502: in link-libraries
>C:\BKutil\boost_1_29_0\tools\build\boost-base.jam:1710: in
subvariant-target
>C:\BKutil\boost_1_29_0\tools\build\boost-base.jam:1797: in main-target
>C:\BKutil\boost_1_29_0\tools\build\boost-base.jam:1330: in
>declare-local-target
>C:\BKutil\boost_1_29_0\tools\build\python.jam:302: in extension
>Jamfile:29: in load-jamfiles
>C:\BKutil\boost_1_29_0\tools\build\bootstrap.jam:15: in boost-build
>C:\BKutil\boost_1_29_0\boost-build.jam:2: in module scope
>
>IMHO It would be good addition to FAQ (building section).

This is an example of how bad the error messages in BBv1 are :-( Hopefuly
BBv2 will be better behaved in this regard.

The problem is that "<lib>some/path" is an inter sub/project dependency.
That is, it's a denpendency to a "lib somelib : ..." target. I'm not totally
sure what your intent is. But you probably want "<library-file>C:/d/e/f.lib"
instead.


-- grafik - Don't Assume Anything
-- rrivera at acm.org - grafik at redshift-software.com
-- 102708583 at icq - Grafik666 at AIM - Grafik at jabber.org




More information about the Cplusplus-sig mailing list