[so][tema3] eroare linkare windows

Claudiu Tanase claudiutanase at gmail.com
Tue Dec 4 14:32:59 EET 2007



On Tue, 04 Dec 2007 14:20:39 +0200, Stefan Bucur <stefan.bucur at gmail.com>  
wrote:

> On Dec 4, 2007 1:17 PM, Razvan Deaconescu <razvand at cs.pub.ro> wrote:
>> On Tue, 2007-12-04 at 12:55 +0200, Claudiu Tanase wrote:
>> > Am si eu o problema: la compilare merge totul ok, imi face dllurile  
>> cum
>> > trebuie si cand ajunge sa faca cd _test && nmake build-post nu imi
>> > recunoaste nici o functie din monitor sau RW:
>> >
>> >       TestRW.obj : error LNK2019: unresolved external symbol "struct  
>> Monitor *
>> > __cdecl CreateRWMonitor(void)" (?CreateRWMonitor@@YAPAUMonitor@@XZ)
>> > referenced in function "void __cdecl TestRW(void)" (?TestRW@@YAXXZ)
>> >
>> > In .h-uri am declarat toate functiile astea cu extern
>> > __declspec(dllexport), am compilat cu /TP etc. Am inteles ca ar fi o
>> > problema cu obiecte de C linkate cu obiecte de C++ din teste, dar am
>> > colegi care spun ca le merge si cu .c si /TP. Stie cineva care ar  
>> putea fi
>> > problema?
>> >
>> >       Se manifesta inclusiv la testele de pe site, deci nu e din cauza
>> > sistemului meu
>> >        
>> http://cs.pub.ro/~so/Teme/note/stud/Claudiu%20Tanase/tema3/win/NOTA
>>
>> Salut!
>>
>> Raspunsul de mai jos[1] de pe lista de discutii te ajuta?
>>
>> Razvan
>>
>> [1] http://cursuri.cs.pub.ro/pipermail/so/2007-December/009349.html
>>
>>
>> _______________________________________________
>> so mailing list
>> so at cursuri.cs.pub.ro
>> http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/so
>>
>
> Salut!
>
> De asemenea, ai grija ca numele structurii din spatele typedef-ului sa
> fie tot Monitor. De exemplu eu aveam ceva gen typedef struct
> tagMonitor Monitor; si nu voia sub nici un chip sa-mi faca linking pe
> executabilul de test pana nu am definit cu "typedef struct Monitor
> Monitor". Acest lucru deoarece, la o listare a tabelei de simboluri
> din .dll-ul generat (dintr-un VS2005 Command Prompt, ruleaza "dumpbin
> /exports LibMonitor.lib", de exemplu), vei vedea ca numele
> simbolurilor exportate de tine contin numele structurii, si nu al
> typedef-ului, iar linker-ul va avea nevoie de numele "Monitor" pentru
> structura ca sa poata face potrivirea exacta a numelor.
>
> Sper sa te ajute :)
>
> Stefan Bucur
> _______________________________________________
> so mailing list
> so at cursuri.cs.pub.ro
> http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/so

Da, asta era, mersi mult. Nu mi se pare logic sa fie nevoie sa imi  
denumesc structura altfel mai ales ca am typedef struct Monitor_s Monitor  
in AMBELE fisiere sursa

-- 
Claudiu Tanase
341CA Facultatea de Automaitca si Calculatoare, Universitatea Politehnica  
Bucuresti


More information about the so mailing list