Logga in med Microsoft
Logga in eller skapa ett konto.
Hej,
Välj ett annat konto.
Du har flera konton
Välj det konto som du vill logga in med.

Intern Microsoft-supportinformation

PROGRAMFEL #: 101959 (Visual Studio)

Sammanfattning

När du skapar en DLL-fil med hjälp av 64-bitarsversionen av Microsoft Visual C++-kompileraren och Linker hända Linker felnummer LNK4197 om en funktion som har deklarerats för export mer än en gång.

Symptom

Linker-utdata kan likna följande:

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 

Orsak

Linker felnummer LNK4197 genereras när en funktion som har deklarerats för export mer än en gång. En funktion har deklarerats för export i något av följande sätt:

  • Funktionen har deklarerats med nyckelordet __declspec(dllexport) i källfilen C:

    __declspec(dllexport) int DllSample() {   return 42;}
  • Funktionen deklareras med en modul definition (. DEF) fil:

    EXPORTS   DllSample

Detta Linker-fel kan uppstå oftast när både nyckelordet __declspec(dllexport) och en. DEF-fil används för att definiera samma funktionsnamn i en. DLL-projekt.

Lösning

Lös problemet definierar exporterade funktioner bara en gång med hjälp av nyckelordet __declspec(dllexport) eller genom att använda en. DEF-fil. Använd inte båda dessa metoder.

Status

Detta är avsiktligt.

Mer information

Deklarera en funktion för export av mer än en gång kan du inte ge Linker-fel som beskrivs i avsnittet ”Symptom” i denna artikel i 32-bitars versioner av Microsoft Windows C++ Compiler och Linker. Microsoft rekommenderar emellertid att du definierar funktionen export endast en gång i både 32-bitars och 64-bitars versioner av Windows C++ Compiler och Linker.

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.

Communities hjälper dig att ställa och svara på frågor, ge feedback och få råd från experter med rika kunskaper.

Hade du nytta av den här informationen?

Hur nöjd är du med språkkvaliteten?
Vad påverkade din upplevelse?
Genom att trycka på skicka, kommer din feedback att användas för att förbättra Microsofts produkter och tjänster. IT-administratören kan samla in denna data. Sekretesspolicy.

Tack för din feedback!

×