www.digitalmars.com         C & C++   DMDScript  

c++ - Another link question: how to allow re-definitions?

reply "Luna Kid" <lunakid neuropolis.org> writes:
Can optlink allow linking a working executable, when
modules have conflicting definitions -- symbols having
the same name but associated with non-identical code,
resolved by e.g. some "first/last wins" logic, like
some other linkers do?

(Remember "poor man's polymorphism", e.g. for overriding
default callback functions provided by a library...)

Cheers,
Lunatic Sz.
May 12 2003
parent reply "Walter" <walter digitalmars.com> writes:
"Luna Kid" <lunakid neuropolis.org> wrote in message
news:b9p93i$30pi$1 digitaldaemon.com...
 Can optlink allow linking a working executable, when
 modules have conflicting definitions -- symbols having
 the same name but associated with non-identical code,
 resolved by e.g. some "first/last wins" logic, like
 some other linkers do?
I'm sorry, it does not. I don't know of any linker that has that.
 (Remember "poor man's polymorphism", e.g. for overriding
 default callback functions provided by a library...)
You must be thinking of how libraries are searched for unresolved symbols, in order. That works.
May 12 2003
parent reply "Luna Kid" <lunakid neuropolis.org> writes:
 modules have conflicting definitions -- symbols having
 the same name but associated with non-identical code,
 resolved by e.g. some "first/last wins" logic, like
 some other linkers do?
I'm sorry, it does not. I don't know of any linker that has that.
LCCLNK was the last one I used this way. See below, please.
 (Remember "poor man's polymorphism", e.g. for overriding
 default callback functions provided by a library...)
You must be thinking of how libraries are searched for unresolved symbols, in order. That works.
Yes, that's part of the game. The question is how the duplicate definitions can be resolved in a scenario like this: FRAMEWORK.LIB: _main _callback_one ; default implementation _callback_two ; default implementation ... MYAPP.OBJ: _callback_one ; custom implementation So, how to correclty link this stuff with OPTLINK? link myapp.obj, myapp.exe,, framework.lib, app.def, app.res does not seem to be enough. I used to manage with the few compiler systems I tried, but that was some 5 years ago. But I know LCC works, for sure, as just tried it again: lcclnk -subsystem windows -o test.exe test.obj winmill.lib test.res Of course, I get warnings: def_app.obj: multiple definition of _wm_configure first definition is in file test.obj def_app.obj: multiple definition of _wm_pre_loop first definition is in file test.obj def_app.obj: multiple definition of _wm_post_loop first definition is in file test.obj Time: 8.982 seconds But the executable is created perfectly OK. Thanks, Sz.
May 13 2003
next sibling parent reply "Luna Kid" <lunakid neuropolis.org> writes:
Some more info...

windowed.def:
    EXETYPE NT
    SUBSYSTEM WINDOWS


link /nodel main.obj test.obj, test.exe,, winmill.lib gdi32.lib,
    windowed.def, test.res

OPTLINK (R) for Win32  Release 7.50B1
Copyright (C) Digital Mars 1989 - 2001  All Rights Reserved

winmill.lib(def_app)  Offset 04702H Record Type 0091
 Error 1: Previous Definition Different : _wm_configure
winmill.lib(def_app)  Offset 04714H Record Type 0091
 Error 1: Previous Definition Different : _wm_pre_loop
winmill.lib(def_app)  Offset 04727H Record Type 0091
 Error 1: Previous Definition Different : _wm_post_loop

--- errorlevel 3

P:\win32_\WinMill\lib\v0.05-dmc>test.exe

...

So, the EXE is there. But it does not run: (see the attached box).

Now, is it possible that OPTLINK has already been doing
it for me, I just screw up the EXE type somehow? Or is
this failure indeed due to an incomplete link?

Thanks,
Sz.


begin 666 err.gif .dat
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
*?$(IC$(<C ``.P``
`
end
May 13 2003
parent "Luna Kid" <lunakid neuropolis.org> writes:
 So, the EXE is there. But it does not run: (see the attached box).
Dammit, sorry! (FAR Manager appends a space to the filename on copy, that's why it won't open... :-/ ) Spammer Sz. begin 666 err.gif M1TE&.#EA P*F`+,```4#!=V. P<9D=Y3,'=M9+H&!^'.P],S'P1<[C.4_ 0. M? 1!W+>KG>OJW.UI6IR^O"'Y! ``````+ ````"#`J8`0P3_$$BYJKTHZ\V[ M_V HCF1IGFBJKFSKOG LNPM7>S>8V]D^W\">$.'3?8+$(=*H0A9%2VBR0JQ= MK)=)H2 04'<)31 QWA1SSN14K30+GVNV6XT>:GS+<Z?^YK.M(7!V;H* .'1O M=W)_<8.$ 3Q1CWR&B(EV091RAG6<C8I^ &E[EYN)GIYS:UBKK:*M<:FQ?;"S MC+!IF6V,F:RZNJZ7P(8-# P,`<G)# ',#L_0# ,#!PT570I>E0W<`AG<W=_A MX W>".#>X WDYNCGZ +J0^I=BAKPB*\W[NSJW?SOR 4L%P^<N(+MRHUSQP] MPW$!TW7KXG!A.(;A]G5[%5'-PRX%_[F% !=2(L&2%$5&I*A `;M[$TV"?'BR MWDHOC4A67(=/9\8VE819RF5IZ*Y1H_*ILJ7)J%.D1Z,^M3?,WE2.#08\:P;- MW[2O!ZA5LR! 04Q9$".";,6`< -8=22<2N 3+VV;^G6G2LW`<BW9?S^_<MV M;N'#:6W&]5:8+N*\ !-[B^S6[MV\>C,(-L<6<I<Q< =_GBN&\EVT>D=KUGMX M,.+-IU>CAOU7L :YK/D2)IT;-FG1< <;3JV9<NK3>3N/ILV8=QD/SU<TYOUA M>HGH<*F#P*X=-0?K, )GEPT=1=MS8;]^E:8>K-BQ9*WXFT^_/C<#]O/KW\_? M'_[^`.;W7_^ _ U(X(']&=B 0H*>&"#"*K3((0$,A A !12>-^#]6EX88(2 M?BBB?A[25^*(**;(WP)=:*3BB_.=F**,,'9H'XTD(HAC #O6Z""'/ 89HY!$ M`BEDC^ >>2027[8(XLX+>#?B ,BJ:"216;9Y'Y8<IGCC#K>:"*(&%;(HY=D M=GFAFEJF:2.15HK(9ICT0>DBA >$%8TT>19P )]Y!BKH`?CU:.&68E+9YIHO MSHEHHXLF^F6!D3)I)IR4MCDAC"4Z6NF(=HHCXY];D+I%`0/4-\"IK)X*``-O M1BB!.K-R4VL#`/ASZZZYXIKKK!/T.M^M`]XZI+# U!JLK<("^^O_!,SB2JNO MT5)K+;+5.NLKLMCR:BU^QE8K;KCU!:OLL[U"FZRZTB[([++;< NON<C^!Z^U M^-X[;+KZVHNNO+SJNRZ[M#9K,+OG#DRPO^_RZZZV`J^+*+D-.XPPN 6/2["Y M%3^KL,3P:OA?J ')& "KA()CZJFIJLRJ! 0$2;&XR68L,<CR?JQPQ"&V>S/- MU!JK+7T)7]OMS<X*#*ZN^X8;,, S#VSTST\/6_"Y%V^L[M,. WOPS%A3+/37 MNA+<,+Y67^WQU.^B7;;-.,.M+[WD+IMTUEIK7/6L7 \=[\_Y8JM.J%+*2< ! M`!20^.+!$D" IQM^*OGD1DY*^>68GRGI_^:9=^XYHY./W"(Y<J((^>>HIXZI MZEJJ>3KKL,=>8X;]D9PIG9?*KCOK5Y8^Y895N M\D\$73_SQPR?OKO'*%XJ\ M\+M'+WWJ,N+8H.UD.CGF]-QS;WWWX(<O_OBY;_\CR9"S&7SDT*_?/J+NQP__ M_.S+7S_][]^O?_[\V]\__OZ+E7VX):U?%?" !DP `A>HP 8R\($.C" $'] ` M!A! <$;RGP8!R,'];="#'?P?"$<HPA)^T(0A?)TU1E<XR_WH=^PCGPQG6+-* M&8AC ,.7"O-C00Q:BH9 #"*H1H<`]W%*B$C47>]J^"FQK<ULE>IA#)-(Q2HB MB' NM*(6K8C!$_]Z,85 ).$7U2'%+9KQC/G!'AK7B$:ZN?&-<(RC'.=(QSK2 MD8UX1*,:\\C'/OKQCX"D(A;+%,A"&O*0B$SDBZ $`"I\9S7G >0,)DG)2EKR MDIC,I"8WR<E.>O*3H QE"[A# BL(``#:8(-/5.(! ^#!%!P`R"&^D8V0K ,F M!#'(+>* 2W+ \I8KZ0 3A/F2E] D(>MPD4N,"9%8JJ0IN"Q+2$"Q`71DHY<W M`0E'X"#+$01E'JQ\B22*, > 5"425.&!.F4QSEDDA2CIQ 0Y&]%.3>S GE:1 M1!3P.8>D["*>1LF#5?K)2V8T0T+L(6-[5LBB;# RFL,9P4YRB0]F"J3_F,Z\ M*$13,%&;T*.:%X$(.C!"4HLBTQPFA>A.4-K1DX+4)AE%Z3M &M,/K%28Q^PF M2"]Z3-'0M"08[0!) $,ZGL:$J*),JE*7*H.L:,4!$GIJE< "GVN<I0/B&<]K M9'.>KDJ2-( !*U?%&M&V>)6L9TTK>=3J'+&R=:QN_2I;YPK7K+9UK5K%*UJ] MD]5(]E6O=PTL70'K5[CN5:]_/2QAQY-7M"2V/( 5;'6PRECJ8">2WI%L99_# MV1!T-K.:#6UDQ1"A,)#%+$4%D^EZ5CD?[9"0JRW2:Z?W/0'*%DW9>U3Y0#=% MUBKR=KE=(4X&HEK?X0YZD JN^;3W0T4Q%[>:_X(M##47V]V"[[6'BI"':+0I MS %7N<CM[16):"0&Y,F `3B&,IXQC0) ]871F]..')7=\%XW?+6E;A95I*3M M+DJ%]=5O=+TKW -<G,&*-5Y_4$`5CU.'0XHE9]>A3D?- ^Z*++P<IN+H(0) MJUC=`D"#N A>,$G 4--277==J]O;AHA<__%: :<+W^K*2L,T5NV)]KB?5;5J M"S&S3X-_O 4*3U=)]-I/SM(5.+0Y\6TSME79PI8QOD7+6]ERF)-MYK<MQ\W) M AL;T3 HYB9?V<(YZUC8BL8^-TI-S?7*<L3$7.9P ?AF-UR;F3V<9 7-*V]E MAG(.Y:;GH(D8:18CL__!:-;E1O>J1 >^W9")3&E720!6OZ7A;(^\QA/%Z;F9 M1N02[<L-'KO8NJ&&W:8WG$>1`6G5J2ZDJ4LLX!K'>HNTNS6+=<U'".7Z=PV5 M#X%Y36P.%[O6RX7UL=DX:PPO6]<GLJ.TITWM:EO;6+Y^MK;'.]PE;;O5V</Q MJ=47Q "5T;??3C>:FBU=(ZJ[D".V(=#.#,5=/^K<[\YWB^M$7E8/6]^A%IRR MNR?% 0/\D'N4[\%334 ).GR"#X\XQ"<N<056\()17OB[11<EC7O\XR#_MH%X M[.Z0F_SD*.\CE'S*\I:[_.4PC[G,9T[SFMO\YCC/N<YWSO.>^_SG0 ^ZT(?_ M3O2B&_WH1J<`)!/ ]*8[_>E0C[K4IT[UJEO]ZEC/NM:WSO6N>_WK8 ^[V,=. M]K*;_>QH3[O:U\YVM?-F`11()1Q(>82!HN($3]"## HQ2W4N91&[M'LI_BY0 MH4 "#H(8J#=_T/>_#P+QI:1FW?G9^,HO7A5Z9\$K(R^%%B2^DI]7/. YF8,$ M-( KTF"/ZMM#C0$8( %DT>8.Z","71:>%[X$: [F8U-L_A.7.W5F1G,O>54" M$Z3!QVE(;^DBEJJ$'[-_9E&6X ^"&M_WQ.UE)ZB)#GW GIY)<*4C" ^53\ R MH.<$_R_R*96 `B48OF *+DXA?Z7,?YOT]_[Z\6]___W37_W]IQ3$8%!)` U: MH17_P0! 80W7X%#;(%(6`4PT 7S )P_O0%P`!0[+= /+Y [[%WX0:%01:!*W M)!+5]TL2^%$6>$P811,ER'L[A4S!YX'BM 8TJ'PGZ!2I)1 FJ$L6N%.L-%'A ME(,HB(+)I'A$Z'N]1(0"U0NK( I0^(3!<'_YUP/Z%W^^$']2R E?4 7XQPI5 M`']7*']1N(6N4(8/!0C%8%#/T"'IH1X,B VI!(0D,1(A.! HD5)!Y18_&(,R M)5$AB! S=5.$R(,*05$NQ8+%5( :I8C95P^RI%/$-(DQ2%PRH5(CV _-5(F+ MF!_(='R42(?S(5,5I1]_R/]4J)B*JD *6;$G'<)Z5=4B#\4.F$6)2TA2&M41 MC. /,&4?*(!-*T6*R^=\ARB"B3B,>V 0N\B+PT<Z?T ?O1B"]$",S "]G&) M.$B"?1 01;6#03B*W=B)M,<.)N&-H+B*Z)B.J.A4+;, [)5ZKG<?TY G#&A5 M3[!5934<XK&/CM6/DC0=`!E1^ A)^[$7`<F/<L57<360>!56!]F/#_E5^<B/ MX&%7%ID=8?6/`FE7&DD>`JF0' E:6Q60'FD=X &1F561`VF2(!F2W8%9)[F1 M*=F2CU23#2F2'SE6%[E9/+D=_FA9C+63VI%8IB<6K==Z89&4[R$HR60G7W % M67C_"OX7A=X'?U99E51)A5\8 '?7E5?Y?Y\PE5;YE1QA"^Y$"_Y'EF<9E5O9 MEE78A5E9%6GIE5XY!6 XEVKY 5"(`5#IA5A E7UY%GP9AH+YE';IEW[YE'!9 MF(=9F(KIF'$9EW;YF( )F8^YF)1Y!81YF5#9F2QR!:B5?8\28_KU:S;&7SF& M:K;V7> 6.O]F;\Z6<;S5.09G6\=UFEOB:;FU8J-):Z060Z89()%F7[4I7;:) M:^)5G#LT:L>Y7Z\Y8P%V:E2D;,S)FJOC;_*F'^S6FZF)FD?4G:AC<.)IG>#9 MG)?#FZT)G+Z):I^61"AF7)Z#)<%FCL9&.=&YGJF9;>>Y_YK%F6K].6Q=<I_E MF2C5$YZM99S.^9NKF4;]1B7O. W/ &G_A9W>9D "JFK'A5T52I[9B:#?B9]! M))\-FFP0IB?*<*)[\ R"4J"PV3I9\I_/F9\QNJ#H5IW[UJ$T&INQ0YH)VJ,W M:I_B,Y_$52(!(" #$&23UBH$\ `/$&%_TB<26J.5XU\MNF_Z69^<0Z4"Y&Z> MTJ44:I[8::/<F4':A:7.B9ZRR:$SRC_U&: MAJ9,$ISF4W)?PFX-X !/ZB=; MT([<D%Y>06F/HT)8%F\#ZC8OQB]:!BT:\F% 5C R-D"U`F*)FJC[<F;'HEMY M-F]9!C<91RRM22%AQJ ]`ZKB1O]JT3EBA[:;8N*I6QJGYG,NJ%JI ,-FQX*H M<F9LP9FIU-(C8K9B2B*D.+(R/Q:EW, `E59D#)!?!19H;<8TX_)EC 8V4<-$ MV2)E349GA\9D;,-FJ;JI 19B;%,M=S9H]69EX>HM8"-HV#IF]E5G3Y1F;S.M MC>JN" HX#'-B[#HUYOID[:)EAL:I];8MZ>DL=T:O_ZH?M.IHC9J:PTDB/_9 M+E,`008.25ID!_ `]=IAI4JM`MNQECIH9F8I-S1E5U-E2^9#19.P7%9H0D.R MT2JKFFIG"XME!]LS\"JOX2IH\>JO^5$WJ<HPT)JS`(NR-+NM+$NT`&.RG$HU M&K:N09O_LH7VLO-ZLDM+:MLY1<;**NU5:8?3*C#CH^EY(-U:*6^D*S#:'QL[ M0%N4MK<9MBFG)?R*.6PBI& *# Z0.)2&MY8&``&08Q?ZMI'2*3EJH0<*N/BU M2",ZN&8:HV=;;(WKMO &N0AFN))SI76['[/F:L &HI3+.[VVGYUKH,DU'PU; M7+'YN!Z'NN &:J$;2*8V6ZK;NF#+:\LIN;)+6P!RM<:IF[=+FR#WMS\:O+TK M/>C)<7>RN</KGLF[O,S&0D'"HXL[1B D1N4FO=9;O=A+O23$O+ESO=H[O>#K MO>&;O>/[O>*[:;KK7,++O=<)6VSK1_BFFNPK.[Q;'Z^[IIP[_[^!6RZ1RT,8 MA[SZ>[BUD[CY^UW5>< TAL!2NL"8FL .S,!3I, -#,'A9:,"^K[>"5^U&[;Q MN[L//,$ ',$?+,(4+,$D',(5/,(I7,(J;,*#NYVQ&\ XBL$JXC232L,JTL$R M;$5R&CF9JZ8[3$,X/")/QC' 6R/X%L-!O*&82\!+7$A#G&&+%JU1C* Z_,1^ M-"#IB\5L5,5H%+]*S,4ORF_=5KAB/$->?$97?,8JY\1FS,;3DRO',,=T7,=V M?,=XG,=ZO,=\W,=^7,?_"\>NZ\;0%<:"?,B('#M;O+B)W,B.#$BE2V#G2[Z3 M;+Z4?,F6G,GEN\F5S,F8[,F:W,FB_/_)HQS*I'S*IIS*H%QJSENFJES*JPS+ MLHS*L4S+L_S*MIS+N+S+M<S+M]S+P/S+_K/(CUS,QOQ;C"0!27 8;=?,SOS, MT!S-TCS-U%S-UGS-V)S-T4P&3$<&%1 LW[17C3&2*UG.Y'S.YIS.Z+S.ZMS. M[/S.[AS/\#S/\ES/]'S/]IS/^+S/^MS/X]R1_^R0#"G07J56^"S.`]W/<656 M`!W/^;C0"%V+E^>%C526Y1&3ZIC1&KW1'-W1'OW1G ?2E'0#IH< L/>93CEW M)5 )?C!Y[F=]W[1^C_?251F `#A^\O1_?,?2=3=Z54 *,RT+[U?38EE_E =- MYI>&TR=YE/?_?GXWA5 =%18-?O]$?O.G>-!D3S-]EF;)?N\T%6%X"^77TDX- M#&;Y >!W>NJU#,O #-%P -/ 4+(WBS0`4#XM3^U$"I#WTHZW".%L?>97?*)W MB^<H!- '?(*->8EM`Z\$>9\WU4APV.2$3XFW3^QW?HV-UT^]>=L7>)W-V?%T M=X[ UY>]3J0-UCG-3V6IVH MU=\W2TV1V:7M":>77GU[>FX=#09 `.Q!#7(M MBP_EB[VG44'!?QUQ>RUT KNGW*G= LWTW,C(T^#$?,YMB,8XB31(4N8 "MWD M3^.8 3 ( N"HV-%W4?#$TSX`?3 1VNDD":QDU:=M?V&)3I0MVI;=_]0Q77S; M9]E4^-KLY-2[A-[-3=6ID-4ZB)6T4 S)8""I)PU3-8]Q.-?+W8B;N%$J !E, ML$S"5 ,$04QD?=PX>-T9 .'6&(G8]!:*>%.W`8F;V'PE,!&(;14P3GR2J(,6 M# ,W6.-/W4K-].& =]EF#4OE9W %#N!DN-1,S==08=](+M\(+M8P;=.HH.#. MP. //H_P\1=75=TN-1 Q/H*VI(W;&$W#5=[;77O V(/RT!.XF(/5R(PJF(E> M+H[6'=X_Z(,38>*Y>.,N..89!8[]883/1]A]3NBN--[4]]V$S>+A/4_Y7=JC M!]]CO=4^W=0VKD^F?7XYO>E0CN2LK>F4'?]^*>H`5^(>$/Z9TK3EHCGCF2&. M)(B-VMWEX2A4.L[C%'Z(*0%4)G6,TS12U^V(P(Z,-)Z)VLV)-67AT5CG+]CA MNBCGOL[L;F'A/878.J7C%<6-*,CHR9[D5QW;KLU_DWX50VW44A'NYE[NZ%Y_ M4MY^7["&>U+JL!B'"V 6JCY4G&&'*5B,Q4B,V!B*MLCJ)I#F;9[L_8X1$B&( MQ"[GN<>(_/[E;P[=>QY4-<X/PL'PKF[MWRB"]4&-^7Z* OY1LVZ*(CWR)-]Y MW_!4SU EI)XD\R 6\D[OZ;V)A:&$TOCJE:CB^9Z+UWX"'?5+PFC=_#[MQ>Z( MS7[KL,[J/>_PMZ[_]*1(YL/=\=EH4?=P[#M13<,MZ]B>]><04X1M]27_]6!O MC1"J\O!8)4E9#54`W,?.T.CP'!5Q%P!?['0^XV%PC3P?#G4/[3-54ROE$!Z% MC"6]#GDO^) (]="H&,Y-4T5%4WH.\):H^-2Q\1T1^%UN2]!.^<XXXJ/8'+Q( MC;)N^1U^[;H$^C0EE&%_^NK(CE#%V_#8V[N-Y6A_#;((60S]T"'Y6975'3A) M6? NW#9Y^Y/EDJ U6CTY_+MO_, _E,;/D;SO60K)'<S_D="O_'27^RYY63E) MDQ+I_-B?D!1YDQTYD]M_DP'MC]%1_H]$DD )_+5?_ (=E,7_60BI^^C!_WKV MKQZ!4 !-Z90]V<T2??P0 %"2E=J:Y<5Z^B\31F4D38W;4C9TUTQ]Y0ZN/3EO M[]CF_AJM!QJZA#X<4FDD H V7NC(W#5OSUGV!5U1=$OJQ]M3E8MBIW8YAIHQ M8W<[C*7/8XW!X9#?Z_EZ0,"&A(7"A1%#HJ>+*2O'1\A(R4G*2LM+S$S-3<Y. MST_04-%1TE+3A0I4!-75U,)5P\*26-I:VUO<7-U=WE[?7^! X6'B8N-CY&3E M9>9FYV?H:&E `=6&:VP#[&UN;NUN<._PZ^_Q[G+S='+U<73V\_?X</=X>OE[ M>'%Y=/M\_']^Z0+^RT;0H+YY!Q4:[+?0(;B&#_\!)CQ438)$C/4(1BR8D=U MCQ_-<0Q9TF0#DAA3IESWD*7)?BSIO=RX[V1+C_;L5;2&CR9"?S>#AOPY4FA- MHR(9WI-Y5.5$AT6W274J\6=1JE"3*N1YT2K$=E6C`AV*$^74DB1UHA5K5B/8 MK>IBI T;U^58I6S+NGV+UVY=ON_F*LP:MNN"I3X!]SW[-Z_ MI$9+Y8<N?!7 MK603.PY,6:_GR GI*K;9$5M7!'"%7 Z]V>_DA1Q9[^4,&6;KJC-Q$]6\^[-O M>8<Q=YQM.;-<U9W%JGTM&+14Z+])YZ9=_+%HY\ ;V];>?/MI1%ZGOUQ[_7CO M[M_O#N<.FS9HR>212T__?K P2/:MK>?,OQ2U>O1*4^XIX%9R+[#]Y'/M* 7? M2^_!U<R3T$'L:DLNHOT>^D^A`/1P( `0`W! 1 ]UR^R^SP:C<$ (602POQ:] M\RVZN)A;$:D8+[R-L_( $^Y&!_;X, `&&" RQ!&#Y(/&^/BK#L?IV NM(2HC MK'"^`P.<4,HI3\K010NWHRE!Z3;<I\,#DA0QR3P<&"#)/ XHX( 'K,R1NMA, MXS+,'>_D$\_L_!1T4*["0^P>/P9XDP`"Y"S 44CG9!20.0L H#MW&E0M4\+ M`^I+[#25#4'MJ +U1B<#Q=(V%?TJY]6;OFEJ4Y/,?">0`P HAX!('R6 SFMX M_W74TE/M!!,V#*%$",6R6"MN5)PNP\I3+>L+L]A9%Z1VRQ>[735+^/JQU: MYW34`6X"\!4=!WKU]42V`)!WWGP`T%,=>;UM8-Y\L>$7WV[ZU:;?:_HEV"QZ MN4G88'OWM;=AA1O.]V!_E?IWG(N_X9=B`#G>!^+&/ [583U;M<EC3O$16=]C M_9489)<#;GA D!G6=^-M+HY2.IN;S>; [-R9]QTY'1TV /,&<!=2 &0]<^< M(39 9)BO#-1C NVIFF"NJ\8XX8+!CIGD?3NBF&IV )8Z[*C'IFWE>+;V^AVX M"66[JKJQAKAKIMQNFV6 ZL9W;H^(-H?I2)/F9FG$'_\% ('AU/9[9K(KMQEL MC 6.&."_);Z;9,P?%IWMGFT>>'/0>RXX:M%']YMMC??66>:Q%RY][XK_OEMU MU6FWW'6RLVZ;[XAEW]UX>&J6N_75:W_Y<[V;?YYTXO]V!^OA;Y\^^.T]=S[D MZ1E&7AVB4VY 6'<O!4?=QA\/J7IP8)Z87KXE;REZSLN9>'7)^W_Y]N/E[GOV M*UOV/E>YR:V->O13WMVF-K/YN45^]J)9]L1&M0:B)'2ZLR &#?B]K\TN9FJ[ MV.4R2#O/^4]WL8L?X38&O <B$(#"<UD)&ZC"UXW#</- 7Z]^M0U%<8-7[I(7 MY/JF&LW=2X" XY_Q-(>_`W+_KH84S%CJ/OB[`,JP<\#3(OC&A\ #1N]Z&:Q> M!,-QPKSUCH/%RV$+V8 ZZFWQC"=\HPS#QT64V1"'%?3=`=&!PSB"T(P<[-T MK=A&T^RP'^C[(3;:!:D!I*M7`-#5^UQ(N>:%\89D[![AS#'!-1K2D'+DGL(& M^,5,.HR"6=3 '06X,O%!#WE<,V4K"8E%,!8RD#%<X A1:4=6>C!L<]O ,+,8 MRSF&$H^NC&(?&0A"7/+N=]LK935MV4SP6"0UB$K<-1[I+L6AKP``&( 1)60R M\_52/>E<9[72435VQI,L\E3G/4!6K-!X$E/;TA<][^5/MP"TG;\1:$$10L/* M"51&___8X4B^V3B(RHL`Y 2<4/2YFXM61F/NT>=5KF10 NKCGO/<"[;XA$^[ M'06*\'(*K,8E$\9!M&F.HZ3ZSI-2G'9J-RC-*7UZ^E. ?N=4#7U'``8` (C. M:Z)? E6T3--4,3U5JDZE:E2K"E6L3M6J6\UJRUZ$'R4&-5;\' U7M=I5LU[U MK&M5:UO3^E:TQE6K5N-6.OXSIG,8( "3HB0Y&44DL096L.YTJUP+RU:XELRG M/!UL8PE5)6XT=%H"<FQEFZ18RV96LYO-$V7#\:.< O2?) UI:4=KVH"2]K2K M3>UCH,K9RZI*6:)M+6L':EO:WK:VN]5M;Q5:5^?8RJ. O]M<76*)<,F]K#+ M5>YZCFM<Z!YQ3^0+SS:GJZSH1I=98<UNN,A*U^Z&E[#/;<!=425;^R VN>M5 M;WN9R][WNA= D-T68\6K%? V-[_[E2]_X_M?_8:&J-;RZ7T-[-D#EU6HF$UP M VM4J^H6R,$.MN^$+7QA["X$M#?-B'\##& /A[B_(V9N9S',W>L&2L0 )O&' M7;SB%[=84P89\'F?<^+*#C?%XJTPCL.+3_.B6%L[]K%VBVSC(R>95#>J,8*5 M_&0H2]>K4:8R.&K<XRK_E+Y95C"7&VRCH468P$ FLI>!BF7.9LO,]_W2AH6V MY 07):,-)L"<X9SEE#39I'<.KYW_#<R .H.7SSZVT5F:+.A!'QEWN$6LE'UC M+T#/&<V)AE!Q)$L 2A]XT:42<JJFUH!(3SG3!C:0E0U%WHJ.NKN;UH^44 KI M0*M:UI$5\ZQES6J0Y#?5Z?ETJ+]KZ^PFB];:'&]S<GMLU?(6V:CU;;*;S>S? M?K*>-RFC[/PL$5AC\EO+9C2TG<UM97];W-XF=[<[35V+' I<90;V8Z5X;84$ M+8X)0W.VR=QN'Q\:WU3&M;EYZ\"?M:ZC,GXGJ&/]ZWV3NAM77JRU8/QP K-8 MXC&>.(S?+9;HS0_>V#9X1B%>\8A37.0?'WG(DTM7;> [X4]FM4I!.<VVG,[7 MQ5[YB?6\_^Z:;[;E);\JSEBHOWR17&L=S[F26;)A5^=%Z"9G.LB=SG.HHS5 MT^;QZF;NCZ4_/>M1;SK7M=[HSJ2\UJ(><]$;^T>J&]C>9K^SRJ'&]LKNO,%K MA_N1(W+I]'Y=[U[G^];]+M^0I?V^=-_[WPO?=</W'?%*I ?2ZP+6NF=WX]V] M>N2K[';+.[BFC.)\YSW_>="'7O2C)WWI37]ZST\^\PEV,X.1N_C#QU[QLD]\ M[6$_>]S;GO:WUWWN;]\8S*]>^,,G/HW'SI=)%U_YRV][A)//?.A'?]#!EW[U MK6]VZE]?^]N7M=B)O6#&<U_\X^=S]LE_?O1#V0`OG6OZW?_^(I;SY!640$7] M6V%__-]?__GG__[]WW\`_#\!#$ "'$ #+$ $/$ %3$ &7$ ';$ (?$ )C$ * MG$ +K$ ,O$ -S$ .W$ /[$ 0W,"*.($2*$$!,$$4/$$53$$67$$7;$$8?$$9 MC$$:G$$;K$$<O$$=S$$>W$$?[$$ _$$A#$(B'$(C+$(D/$(E3$(F7$(G;$(H *?$(IC$(<C ``.P`` ` end
May 13 2003
prev sibling next sibling parent "Walter" <walter digitalmars.com> writes:
You can try what's called a "weak" extern.

"Luna Kid" <lunakid neuropolis.org> wrote in message
news:b9qhmq$14o3$1 digitaldaemon.com...
 modules have conflicting definitions -- symbols having
 the same name but associated with non-identical code,
 resolved by e.g. some "first/last wins" logic, like
 some other linkers do?
I'm sorry, it does not. I don't know of any linker that has that.
LCCLNK was the last one I used this way. See below, please.
 (Remember "poor man's polymorphism", e.g. for overriding
 default callback functions provided by a library...)
You must be thinking of how libraries are searched for unresolved
symbols,
 in order. That works.
Yes, that's part of the game. The question is how the duplicate definitions can be resolved in a scenario like this: FRAMEWORK.LIB: _main _callback_one ; default implementation _callback_two ; default implementation ... MYAPP.OBJ: _callback_one ; custom implementation So, how to correclty link this stuff with OPTLINK? link myapp.obj, myapp.exe,, framework.lib, app.def, app.res does not seem to be enough. I used to manage with the few compiler systems I tried, but that was some 5 years ago. But I know LCC works, for sure, as just tried it again: lcclnk -subsystem windows -o test.exe test.obj winmill.lib test.res Of course, I get warnings: def_app.obj: multiple definition of _wm_configure first definition is in file test.obj def_app.obj: multiple definition of _wm_pre_loop first definition is in file test.obj def_app.obj: multiple definition of _wm_post_loop first definition is in file test.obj Time: 8.982 seconds But the executable is created perfectly OK. Thanks, Sz.
May 13 2003
prev sibling parent "Walter" <walter digitalmars.com> writes:
Also, put your "default implementations" each in a separate .obj file, and
put those .obj files in a library. Link that library last.

"Luna Kid" <lunakid neuropolis.org> wrote in message
news:b9qhmq$14o3$1 digitaldaemon.com...
 modules have conflicting definitions -- symbols having
 the same name but associated with non-identical code,
 resolved by e.g. some "first/last wins" logic, like
 some other linkers do?
I'm sorry, it does not. I don't know of any linker that has that.
LCCLNK was the last one I used this way. See below, please.
 (Remember "poor man's polymorphism", e.g. for overriding
 default callback functions provided by a library...)
You must be thinking of how libraries are searched for unresolved
symbols,
 in order. That works.
Yes, that's part of the game. The question is how the duplicate definitions can be resolved in a scenario like this: FRAMEWORK.LIB: _main _callback_one ; default implementation _callback_two ; default implementation ... MYAPP.OBJ: _callback_one ; custom implementation So, how to correclty link this stuff with OPTLINK? link myapp.obj, myapp.exe,, framework.lib, app.def, app.res does not seem to be enough. I used to manage with the few compiler systems I tried, but that was some 5 years ago. But I know LCC works, for sure, as just tried it again: lcclnk -subsystem windows -o test.exe test.obj winmill.lib test.res Of course, I get warnings: def_app.obj: multiple definition of _wm_configure first definition is in file test.obj def_app.obj: multiple definition of _wm_pre_loop first definition is in file test.obj def_app.obj: multiple definition of _wm_post_loop first definition is in file test.obj Time: 8.982 seconds But the executable is created perfectly OK. Thanks, Sz.
May 13 2003