Boost logo

Boost-Build :

Subject: Re: [Boost-build] Can I force a property to be propagated?
From: xwf1788 (xwf1788_at_[hidden])
Date: 2010-01-22 04:52:06


Johan, thanks for your email. But I think you have made an error to send this email to me. Because the topic of my email is "nmake regex under vc6". Can you help me fix that problem?

I have downloaded the lastest version 1.41.0 of Boost, and I want to use the regex library of it in MSVC6.
When I made the library according to the tips on the page: http://www.boost.org/doc/libs/1_41_0/libs/regex/doc/html/index.html
I got the following error messages when I pressed the enter key after entering "nmake -fvc6.mak":

Microsoft (R) Program Maintenance Utility Version 6.00.8168.0
Copyright (C) Microsoft Corp 1988-1998. All rights reserved.
Building Boost.Regex without ICU / Unicode support:
Hint: set ICU_PATH on the nmake command line to point
to your ICU installation if you have one.
        cl /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD -Y- -
Fo./vc6/libboost_regex-vc6-s-1_40/ -Fdvc6/
libboost_regex-vc6-s-1_40.pdb ../src/c_regex_traits.cpp
Command line warning D4002 : ignoring unknown option '-Y-'
c_regex_traits.cpp
        cl /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD -Y- -
Fo./vc6/libboost_regex-vc6-s-1_40/ -Fdvc6/
libboost_regex-vc6-s-1_40.pdb ../src/cpp_regex_traits.cpp
Command line warning D4002 : ignoring unknown option '-Y-'
cpp_regex_traits.cpp
..\..\..\boost/regex/v4/cpp_regex_traits.hpp(353) : warning C4275: non dll-interface struct
'boost::re_detail::cpp_regex_traits_base<char>' used as ba
se for dll-interface class 'boost::re_detail::cpp_regex_traits_char_layer<char>'
        ..\..\..\boost/regex/v4/cpp_regex_traits.hpp(352) : see declaration of 'cpp_regex_traits_char_layer<char>'
..\..\..\boost/regex/v4/w32_regex_traits.hpp(253) : warning C4275: non dll-interface struct
'boost::re_detail::w32_regex_traits_base<char>' used as ba
se for dll-interface class 'boost::re_detail::w32_regex_traits_char_layer<char>'
        ..\..\..\boost/regex/v4/w32_regex_traits.hpp(252) : see declaration of 'w32_regex_traits_char_layer<char>'
        cl /c /nologo /ML /W3 /GX /O2 /GB /GF /Gy /I..\..\..\ /DWIN32 /DNDEBUG /D_MBCS /D_LIB /FD -Y- -
Fo./vc6/libboost_regex-vc6-s-1_40/ -Fdvc6/
libboost_regex-vc6-s-1_40.pdb ../src/cregex.cpp
Command line warning D4002 : ignoring unknown option '-Y-'
cregex.cpp
..\..\..\boost/regex/v4/cpp_regex_traits.hpp(353) : warning C4275: non dll-interface struct
'boost::re_detail::cpp_regex_traits_base<char>' used as ba
se for dll-interface class 'boost::re_detail::cpp_regex_traits_char_layer<char>'
        ..\..\..\boost/regex/v4/cpp_regex_traits.hpp(352) : see declaration of 'cpp_regex_traits_char_layer<char>'
..\..\..\boost/regex/v4/w32_regex_traits.hpp(253) : warning C4275: non dll-interface struct
'boost::re_detail::w32_regex_traits_base<char>' used as ba
se for dll-interface class 'boost::re_detail::w32_regex_traits_char_layer<char>'
        ..\..\..\boost/regex/v4/w32_regex_traits.hpp(252) : see declaration of 'w32_regex_traits_char_layer<char>'
..\..\..\boost/regex/v4/match_results.hpp(184) : error C2535: 'class std::basic_string<Traits,struct
std::char_traits<Traits>,class std::allocator<Tra
its> > __thiscall boost::match_results<Traits,A>::str(const class std::basic_string<Traits,_E,_Tr> &) const' :
member function already defined or decl
ared
        ..\..\..\boost/regex/v4/match_results.hpp(174) : see declaration of 'str'
        ..\..\..\boost/regex/v4/match_results.hpp(454) : see reference to class template instantiation
'boost::match_results<BidiIterator,Allocator>'
being compiled
..\..\..\boost/regex/v4/match_results.hpp(256) : error C2535: 'const struct boost::sub_match<Traits> &__thiscall
boost::match_results<Traits,A>::opera
tor [](const class std::basic_string<Traits,_E,_Tr> &) const' : member function already defined or declared
        ..\..\..\boost/regex/v4/match_results.hpp(233) : see declaration of '[]'
        ..\..\..\boost/regex/v4/match_results.hpp(454) : see reference to class template instantiation
'boost::match_results<BidiIterator,Allocator>'
being compiled
NMAKE : fatal error U1077: 'cl' : return code '0x2'
Stop.

POST:
I have cancelled the comments before
#define BOOST_REGEX_USE_CPP_LOCALE,
#define BOOST_REGEX_HAS_DLL_RUNTIME,
#define BOOST_REGEX_DYN_LINK,
#define BOOST_REGEX_HAS_MS_STACK_GUARD,
and #define BOOST_REGEX_RECURSIVE in boost\regex\user.hpp.

Before I cancelled these comments, I have got the same error messages above.

2010-01-22

xwf1788

发件人: "Johan Nilsson" <r.johan.nilsson_at_[hidden]>
发送时间: 2010-01-22 16:56
主 题: Re: [Boost-build] Can I force a property to be propagated?
收件人: boost-build_at_[hidden]

Vladimir Prus wrote:
> On Thursday 21 January 2010 19:42:33 John Maddock wrote:
>
>>> Would it be possible to use some technique similar to this:
>>>
>>> ---
>>> project foobar ;
>>>
>>> exe test : main.cpp ;
>>>
>>> # NOTE: We need to specify location here in order to avoid
>>> # the "duplicate targets" problem.
>>> #
>>> alias test2 : test/<location>bin2/<define>FOOBAR=2 ; # or
>>> <xsl-param>something
>>>
>>> install bin
>>>>
>>> test2
>>> ;
>>> ---
>>>
>>> I know it's not literally what you're looking for, but you might be
>>> able to
>>> adapt it to your needs.
>>
>> I tried adding:
>>
>> alias date_time_docs :
>> ../../libs/date_time/xmldoc//date_time/<location>bin2
>>>
>> <format>pdf:<xsl:param>xep.extensions=1
>> <format>pdf:<xsl:param>fop.extensions=0
>> <format>pdf:<xsl:param>fop1.extensions=0
>>
>> ;
>>
>> to doc/pdf/Jamfile.v2 but got a whole load of bbv2 errors:
>>
>> D:/data/boost/branches/release/tools/build/v2/build\virtual-target.jam:1066:
>> in virtual-target.register-actual-name from module virtual-target
>> error: Duplicate name of actual target: <pbin2>date_time.docbook
>> error: previous virtual target {
>> boostbook%boostbook.boostbook-to-docbook-date_time.docbook.DOCBOOK {
>> date_time.xml.XML } }
>> error: created from ../../libs/date_time/xmldoc/date_time
>> error: another virtual target {
>> boostbook%boostbook.boostbook-to-docbook-date_time.docbook.DOCBOOK {
>> date_time.xml.XML } }
>> error: created from ../../libs/date_time/xmldoc/date_time
>> error: added properties: <format>pdf
>
> Well, if you force target named 'date_time_docs' to be always
> generated to directory 'bin2', regardless of properties, then you get
> clash between
> pdf and non-pdf builds.

Without checking the actual jamfiles; isn't it possible to request a
pdf-only build by somthing along the style of e.g. "bjam pdf" or "bjam
boost-docs format=pdf"?

/ Johan

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build



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