Boost logo

Boost Users :

Subject: [Boost-users] [spirit,units] Linker problem on msvs platform
From: Johannes Brunen (jbrunen_at_[hidden])
Date: 2014-09-01 08:50:43


Hello,

 

I have created two little helper functions for parsing strings with
respect to unit length values:

 

OptLengthQuantityT parse_length_quantity(...)

PairOptLengthQuantityT parse_dbl_length_quantity(...)

 

My problem is that my implementation based on the spirit and units
libraries does compile fine, but fails on linking on 32Bit Debug with
the following error message:

 

Quantity.obj : fatal error LNK1179: invalid or corrupt file: duplicate
COMDAT
'?value@?$result__at_U?$member_variable@$$A6E?AUlength_quantity_t_at_Quantitie
s@@XZP8?$length_quantity_grammer_at_V?$_String_const_iterator_at_DU?$char_trai
ts_at_D@std@@V?$allocator_at_D@2@@std@@U?$expr_at_Uterminal@tag_at_tagns__at_proto@boos
t@@U?$term_at_U?$char_code_at_Uspace@tag_at_spirit@boost@@Uiso8859_1_at_char_encodin
g_at_34@@tag_at_spirit@boost@@@argsns__at_45@$0A@@exprns__at_proto@boost@@@2_at_AE?AU12
@XZ_at_detail@phoenix_at_boost@@@?$is_mem_fun_pointer_select@$0A@@detail_at_boost
@@2_NB'

 

I'm working with the msvc 2010Sp1 compiler from microsoft on windows 7.

                

I have tried to shorten the symbol names but I could not get it to work.

 

Does anyone has experience with this kind of errors?

Is there something wrong with the implementation of the two functions?

 

You can find the implementation in the attached files.

 

Best,

Johannes

 





Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net