» »

[c++] extern "C"; error 2598

[c++] extern "C"; error 2598

TheCyborg ::

Lep pozdrav vsem.

Pred kratkem, oz. pred dvema dnevoma, sem napadel eno seminarsko nalogo. Prvo kot prvo, sem želel zagotoviti povezavo programa z neko spletno stranjo in sem uporabil socket connection. Na spletni strani: http://www.adp-gmbh.ch/win/misc/sockets... sem našel "A simple client" primer, ter ga želel stestirati. Uporabljam Microsoftov Visual Studio. Ko sem kodo vnesel v program, da bi jo s klikom na gumb zagnal, ter da bi vrnjene podatke izpisalo v normalen text-box, dobim napako C2598! V knjižnicah sal.h, vadefs.h ter crtdefs.h. Iskal sem po googlu za rešitev, sicer opisuje neko rešitev, vendar jaz nimam blage kaj in kako narediti. Če mi znate pomagati, bi vam bil zelo hvaležen.

Pa še en link do napake: http://msdn2.microsoft.com/en-us/librar...

Javi mi tudi napako "error C1903: unable to recover from previous error(s); stopping compilation", vendar na googlu piše, da je to razlog zgornjih treh napak :)

// cy

Gundolf ::

Lepo da si napisal katero napako ti je vrnilo, ampak naslednjič raje daj celo besedilo napake, ker ljudje tule na pamet ne vemo kaj je C2598 in moramo googlat že samo da vidimo kaj je problem.

Kot vidim iz MSDNjeve strani, si verjetno to sposojeno kodo nalimal nekam v svojo kodo in to na napačno mesto (kar v neko funkcijo), tako da jo compiler zdaj ne zna prevesti. Tole limanje kode kar tako nekam ponavadi ne deluje (stopnja uspešnosti se manjša z količino in zapletenostjo kode) in začetnikom tega nikakor ne priporočam.

Druga napaka ("error C1903: unable to recover from previous error(s); stopping compilation", - evo tule mi ni blo treba googlat da bi vidu kaj pomeni) res označuje to kar si že sam ugotovil in kar je pravzaprav čisto enostavno določljivo že iz besedila (upam da z angleščino nimaš problemov). Compiler po hujših napakah enostavno obupa - ne zna se vrnit v neko smiselno stanje, da bi lahko nadaljeval prevajanje - in ti to tudi lepo izpiše.

Vesoljc ::

// C2598.cpp
// compile with: /c
void func() {
   extern "C" int func2();   // C2598
}

extern "C" int func( int i );


sej ti pravi kaj je narobe. extern "c" mora bit definiran v globalnem scope-u, ne znotrja necesa...
Abnormal behavior of abnormal brain makes me normal...

TheCyborg ::

@Gundolf: Hvala za opozorilo, bom naslednjič bolj pazljiv!

@Vesoljc: Ravno v tem je problem, jaz ne vem kako rešiti problem, oziroma kako ta "c" definirat v globalnem scopu!

Da pokažem kodo: Argh, vaš forum mi neke probleme javlja, bom dal link do nje:)

Evo: klik!

Vse to mate pa tu: Še enkrat klik!:)


Evo, to je ta "Simple Client", ki bi naj pobral podatke iz www.google.com in jih vrnil nekam... tako sem jaz naredil, da s pritiskom na gumb, zaženem to 'kodo' in mi vrne podatke v 'textbox', ki sem ga ustvaril. Ampak sedaj me ta error muči in nažalost ne vem, kako rešiti :/

Zgodovina sprememb…

Vesoljc ::

nas forum zna cisto lepo prikazat kodo... le prebrat bi moral kako odebeljeno temo...

ta "c" ni c ampak pove prevajalniku naj zadevo (med zavitimi oklepaji) zlinka v "c" nacinu in ne v "c++" (ce te zanima vec pa googli za "c++ name mangling").

v cem pa delas?
Abnormal behavior of abnormal brain makes me normal...

TheCyborg ::

Delam v c++ z Microsoft Visual Studio


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

uporaba C++ unmanaged kode v C#.NET projektu

Oddelek: Programiranje
111898 (1621) krho
»

[c#] naloga za maturo...rabim majhno pomoc

Oddelek: Programiranje
192333 (1670) ql000
»

[c++] dvosmerno povezan seznam

Oddelek: Programiranje
122558 (2394) upirna
»

[C++] preprosto risanje

Oddelek: Programiranje
71660 (1537) popec
»

Problemi s compilanjem v Linux Slackware 9.1

Oddelek: Operacijski sistemi
351894 (1613) Vesoljc

Več podobnih tem