Prijavite se pomoću Microsofta
Prijavi se ili izradi račun.
Zdravo,
Odaberite drugi račun.
Imate više računa
Odaberite račun putem kojeg se želite prijaviti.

Sažetak

Kada DLL izgraditi korištenjem 64-bitnu verziju Microsoft Visual C++ kompilator i poveznik, možda ćete primiti poveznik broj pogreške LNK4197 Ako funkciju deklariraju za izvoz više vremena.

Simptomi

Poveznik Izlaz možda sličnu sljedećoj:

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

Poveznik broj pogreške LNK4197 generira se kada se deklariraju funkciju za izvoz više vremena. Funkcija deklarirana za izvoz na jedan od sljedećih načina:

  • Je funkcija deklarirana pomoću __declspec(dllexport) ključnih riječi u izvornoj datoteci C:

    __declspec(dllexport) int DllSample() {   return 42;}
  • Je funkcija deklarirana pomoću definicije modula (. Datoteka ZADA):

    EXPORTS   DllSample

Ova pogreška poveznik najčešće može doći kada oba __declspec(dllexport) ključnu riječ i u. ZADA datoteka koristi za definiranje isti naziv funkcije u u. DLL projekt.

Rješenje

Da biste riješili taj problem, definirati izvezene funkcije samo jedan put pomoću __declspec(dllexport) ključnih riječi ili pomoću na. ZADA datoteka. Nemojte koristiti obje ove metode.

Status

Ovo je zadano ponašanje dizajna.

Dodatne informacije

Objava funkcija za izvoz više vremena može proizvesti poveznik pogreške opisane u odjeljku "Simptomi" ovog članka u 32-bitne verzije sustava Microsoft Windows C++ kompilator i poveznik. Međutim, Microsoft preporučuje funkcija izvozi samo jedanput definirati u 32-bitnim i 64-bitnim verzijama sustava Windows C++ kompilator i poveznik.

Potrebna vam je dodatna pomoć?

Želite dodatne mogućnosti?

Istražite pogodnosti pretplate, pregledajte tečajeve za obuku, saznajte kako zaštititi uređaj i još mnogo toga.

Zajednice vam pomažu da postavljate pitanja i odgovarate na njih, pošaljete povratne informacije i čujete se sa stručnjacima s bogatim znanjem.

Jesu li vam ove informacije bile korisne?

Koliko ste zadovoljni jezičnom kvalitetom?
Što je utjecalo na vaše iskustvo?
Ako pritisnete Pošalji, vaše će se povratne informacije iskoristiti za poboljšanje Microsoftovih proizvoda i usluga. Vaš će IT administrator moći prikupiti te podatke. Izjava o zaštiti privatnosti.

Hvala vam na povratnim informacijama!

×