Prijavite se pomoću Microsoft naloga
Prijavite se ili kreirajte nalog.
Zdravo,
Izaberite drugi nalog.
Imate više naloga
Odaberite nalog pomoću kojeg želite da se prijavite.

Rezime

Kada pravite DLL datoteku pomoću 64-bitne verzije Microsoft Visual C++ prevodilac i Linker, Linker broj greške LNK4197 možete dobiti ako funkcija je proglašen za izvoz više od jednog puta.

Simptomi

Linker izlaz može biti slična ovoj:

C:\>link /NOLOGO /def:Sample.def /pdb:Sample.pdb /out:Sample.dll  Sample.objSample.obj : warning LNK4197: export 'DllSample' specified multiple times; using first specification   Creating library Sample.lib and object Sample.exp 

Uzrok

Linker broj greške LNK4197 se generiše kada funkcija je proglašen za izvoz više od jednog puta. Funkcija je deklarisana za izvoz na jedan od sledećih načina:

  • Funkcija je deklarisana koristeći ključnu reč __declspec(dllexport) u tvoj C izvorne datoteke:

    __declspec(dllexport) int DllSample() {   return 42;}
  • Funkcija je deklarisana pomoću definicije modula (. DEF) datoteka:

    EXPORTS   DllSample

Ove Linker greške može doći najčešće kada oboje __declspec(dllexport) ključnu reč i je. DEF datoteke se koriste za definisanje isto ime funkcije u jedan. DLL datoteka projekta.

Rešenje

Da biste riješili ovaj problem, definisanje izvezene funkcije samo jednom i pomoću ključne reči __declspec(dllexport) ili koristeći neki. DEF datoteku. Ne koristite oba ova metoda.

Status

Ovo ponašanje je tako dizajnirano.

Više informacija

Proglašenja funkciju za izvoz više od jednom ne mogu da proizvedu Linker grešku koja je opisana u odjeljku „Simptomi” ovog članka u 32-bitnim verzijama sustava Microsoft Windows C++ prevodilac i Linker. Međutim, Microsoft preporučuje da definišete funkciju izvoza samo jednom u 32-bitnim i 64-bitnim verzijama sistema Windows C++ prevodilac i Linker.

Da li vam je potrebna dodatna pomoć?

Želite još opcija?

Istražite pogodnosti pretplate, pregledajte kurseve za obuku, saznajte kako da obezbedite uređaj i još mnogo toga.

Zajednice vam pomažu da postavljate pitanja i odgovarate na pitanja, dajete povratne informacije i čujete mišljenje od stručnjaka sa bogatim znanjem.

Da li su vam ove informacije koristile?

Koliko ste zadovoljni kvalitetom jezika?
Šta je uticalo na vaše iskustvo?
Kada kliknete na dugme Prosledi“, vaše povratne informacije će se koristiti za poboljšanje Microsoft proizvoda i usluga. Vaš IT administrator će moći da prikupi ove podatke. Izjava o privatnosti.

Hvala vam na povratnim informacijama!

×