Boost logo

Boost-Build :

From: TEMPLIE Cédric (cedric.templie_at_[hidden])
Date: 2004-12-22 04:15:36


What can I do ? come back to use dependency, and duplicate linkflags to
use the good library switch the variant ? Nevertheless, It does not
remove the warning message about link incompatible....
Or there is a cleaner solution to avoid linkflags duplication switch the
variant...

Thx again.

TEMPLIE Cédric

TEMPLIE Cédric wrote:
> This is the error message
> C:/Echo/Boost/boost-build/build\virtual-target.jam:829: in
> virtual-target.register-actual-name from module virtual-target
> error: Duplicate name of actual target: <pP:\lib\windows>su_base.dll
> error: previous virtual target { common%common.copy-su_base.SHARED_LIB {
> msvc%msvc.link.dll-su_base.SHARED_LIB {
> msvc%msvc.compile.c-ConvertUTF.OBJ { ConvertUTF.C } } {
> msvc%msvc.compile.c++-std_su_base.OBJ { std_su_base.CPP } } {
> msvc%msvc.compile.c++-suglobalmutex.OBJ { suglobalmutex.CPP } } {
> msvc%msvc.compile.c++-suGlobalMutexBase.OBJ { suGlobalMutexBase.CPP } }
> { msvc%msvc.compile.c++-su_archive.OBJ { su_archive.CPP } } {
> msvc%msvc.compile.c++-su_base.OBJ { su_base.CPP } } {
> msvc%msvc.compile.c++-su_byte_array.OBJ { su_byte_array.CPP } } {
> msvc%msvc.compile.c++-su_date.OBJ { su_date.CPP } } {
> msvc%msvc.compile.c++-su_date_span.OBJ { su_date_span.CPP } } {
> msvc%msvc.compile.c++-su_date_time.OBJ { su_date_time.CPP } } {
> msvc%msvc.compile.c++-su_date_time_interval.OBJ {
> su_date_time_interval.CPP } } {
> msvc%msvc.compile.c++-su_date_time_span.OBJ { su_date_time_span.CPP } }
> { msvc%msvc.compile.c++-su_dt_base.OBJ { su_dt_base.CPP } } {
> msvc%msvc.compile.c++-su_exc.OBJ { su_exc.CPP } } {
> msvc%msvc.compile.c++-su_file.OBJ { su_file.CPP } } {
> msvc%msvc.compile.c++-su_fsutil.OBJ { su_fsutil.CPP } } {
> msvc%msvc.compile.c++-su_log.OBJ { su_log.CPP } } {
> msvc%msvc.compile.c++-su_mem_block_alloc.OBJ { su_mem_block_alloc.CPP }
> } { msvc%msvc.compile.c++-su_path.OBJ { su_path.CPP } } {
> msvc%msvc.compile.c++-su_registry.OBJ { su_registry.CPP } } {
> msvc%msvc.compile.c++-su_string.OBJ { su_string.CPP } } {
> msvc%msvc.compile.c++-su_time.OBJ { su_time.CPP } } {
> msvc%msvc.compile.c++-su_timer.OBJ { su_timer.CPP } } {
> msvc%msvc.compile.c++-su_time_span.OBJ { su_time_span.CPP } } {
> msvc%msvc.compile.c++-su_unix_util.OBJ { su_unix_util.CPP } } } }
> error: created from SIPS\Libraries\su_base\Jamfile:57
> error: another virtual target { common%common.copy-su_base.SHARED_LIB {
> common%common.copy-su_base.SHARED_LIB {
> msvc%msvc.link.dll-su_base.SHARED_LIB {
> msvc%msvc.compile.c-ConvertUTF.OBJ { ConvertUTF.C } } {
> msvc%msvc.compile.c++-std_su_base.OBJ { std_su_base.CPP } } {
> msvc%msvc.compile.c++-suglobalmutex.OBJ { suglobalmutex.CPP } } {
> msvc%msvc.compile.c++-suGlobalMutexBase.OBJ { suGlobalMutexBase.CPP } }
> { msvc%msvc.compile.c++-su_archive.OBJ { su_archive.CPP } } {
> msvc%msvc.compile.c++-su_base.OBJ { su_base.CPP } } {
> msvc%msvc.compile.c++-su_byte_array.OBJ { su_byte_array.CPP } } {
> msvc%msvc.compile.c++-su_date.OBJ { su_date.CPP } } {
> msvc%msvc.compile.c++-su_date_span.OBJ { su_date_span.CPP } } {
> msvc%msvc.compile.c++-su_date_time.OBJ { su_date_time.CPP } } {
> msvc%msvc.compile.c++-su_date_time_interval.OBJ {
> su_date_time_interval.CPP } } {
> msvc%msvc.compile.c++-su_date_time_span.OBJ { su_date_time_span.CPP } }
> { msvc%msvc.compile.c++-su_dt_base.OBJ { su_dt_base.CPP } } {
> msvc%msvc.compile.c++-su_exc.OBJ { su_exc.CPP } } {
> msvc%msvc.compile.c++-su_file.OBJ { su_file.CPP } } {
> msvc%msvc.compile.c++-su_fsutil.OBJ { su_fsutil.CPP } } {
> msvc%msvc.compile.c++-su_log.OBJ { su_log.CPP } } {
> msvc%msvc.compile.c++-su_mem_block_alloc.OBJ { su_mem_block_alloc.CPP }
> } { msvc%msvc.compile.c++-su_path.OBJ { su_path.CPP } } {
> msvc%msvc.compile.c++-su_registry.OBJ { su_registry.CPP } } {
> msvc%msvc.compile.c++-su_string.OBJ { su_string.CPP } } {
> msvc%msvc.compile.c++-su_time.OBJ { su_time.CPP } } {
> msvc%msvc.compile.c++-su_timer.OBJ { su_timer.CPP } } {
> msvc%msvc.compile.c++-su_time_span.OBJ { su_time_span.CPP } } {
> msvc%msvc.compile.c++-su_unix_util.OBJ { su_unix_util.CPP } } } } }
> error: created from SIPS\Libraries\su_thread\Jamfile:51
> error: added properties: none
> error: removed properties: none
>
>
> the 57th line of su_base is <location>$(LIB_ROOT) in rule export_lib
> the 51st line of su_thread is <location>$(LIB_ROOT) in rule export_lib
>
>
>
> TEMPLIE Cédric wrote:
>
>
>>Hi,
>>
>>To explain my issue, I explain my configuration.
>>I have 2 projects 1 and 2.
>>Project2 uses Project1. The following Jamfiles are in folders of
>>Project1 and Project2.
>>
>>#
>># Project1
>>#
>>project project1
>> : source-location
>> : requirements
>> #MSVC
>> #DEFINE
>> #LINKFLAGS
>> ;
>>
>># Main target : to build the library and export headers
>>alias library : project1 export_lib export_headers ;
>>explicit project1 export_lib export_headers ;
>>
>># Files needed to build the project
>>local cppFiles = [ glob *.cpp *.c ] ;
>>
>># Headers to export
>>local headers = [ glob *.h ] ;
>>
>># Build the project from source files
>>lib project1
>> : $(cppFiles:BS)
>> ;
>>
>># Exports
>>stage export_headers
>> : $(headers)
>> : <location>$(INCLUDE_ROOT)
>> ;
>>
>>stage export_lib
>> : project1
>> : <location>$(LIB_ROOT)
>> <include-type>LIB
>> ;
>>
>>#
>># Project2
>>#
>>project project2
>> : source-location
>> : requirements
>> #MSVC
>> #DEFINE
>> #LINKFLAGS
>> ;
>>
>># Main target : to build the library and export headers
>>alias library : project2 export_lib export_headers ;
>>explicit project2 export_lib export_headers ;
>>
>># Files needed to build the project
>>local cppFiles = [ glob *.cpp *.c ] ;
>>
>># Headers to export
>>local headers = [ glob *.h ] ;
>>
>># Build the project from source files
>>lib project2
>> : $(cppFiles:BS)
>> : <source>/project1//library
>> ;
>>
>># Exports
>>stage export_headers
>> : $(headers)
>> : <location>$(INCLUDE_ROOT)
>> ;
>>
>>stage export_lib
>> : project2
>> : <location>$(LIB_ROOT)
>> <include-type>LIB
>> ;
>>
>>
>>The problem is that I need something like <source> (building the
>>project1 and use results for building the project2) but when I stage the
>>project1, I do not want to stage the project2... That is the duplicate
>>target error I have...
>>
>>I see that there is <use>, but use do not link with the generated lib,
>>so I have to specify the name of the lib in linkflags (it is fastidious
>>as I have 2 names depends on release or debug version).
>>
>>If someone has an idea to help me ? or if my problem is not enough
>>clear, do not hesitate to ask ?
>>
>>One more time, thanks in advance.
>>
>>TEMPLIE Cédric
>>
>>
>>*Yahoo! Groups Sponsor*
>>ADVERTISEMENT
>>click here
>><http://us.ard.yahoo.com/SIG=129ci97pl/M=298184.5639630.6699735.3001176/D=groups/S=1707281907:HM/EXP=1103726042/A=2434971/R=0/SIG=11eeoolb0/*http://www.netflix.com/Default?mqso=60185400>
>>
>>
>>
>>------------------------------------------------------------------------
>>*Yahoo! Groups Links*
>>
>> * To visit your group on the web, go to:
>> http://groups.yahoo.com/group/jamboost/
>>
>> * To unsubscribe from this group, send an email to:
>> jamboost-unsubscribe_at_[hidden]
>> <mailto:jamboost-unsubscribe_at_[hidden]?subject=Unsubscribe>
>>
>> * Your use of Yahoo! Groups is subject to the Yahoo! Terms of
>> Service <http://docs.yahoo.com/info/terms/>.
>>
>>
>
>
>
>
>
> Yahoo! Groups Links
>
>
>
>
>
>
>
>

 


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