Logige sisse Microsofti kontoga
Logige sisse või looge konto.
Tere!
Valige mõni muu konto.
Teil on mitu kontot
Valige konto, millega soovite sisse logida.

Microsofti sisemine tugiteave

VEA nr: 101959 (Visual Studio)

Kokkuvõte

Kui loote Microsoft Visual C++ kompilaatori ja Linker 64-bitise versiooni dll-faili, võidakse kuvada Linker tõrkekoodi LNK4197 kui funktsioon on tunnistatud eksportida rohkem kui üks kord.

Sümptomid

Linker väljund võib sarnaneb järgmisega:

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 

Põhjus

Linker tõrkekoodi LNK4197 luuakse funktsioon on tunnistatud eksportida rohkem kui üks kord. Funktsioon on kuulutatud ekspordiks ühel järgmistest viisidest:

  • Funktsioon on tunnistatud C lähtefaili __declspec(dllexport) märksõnade abil:

    __declspec(dllexport) int DllSample() {   return 42;}
  • Funktsioon on tunnistatud abil moodul eraldusvõimega (. DEF) faili:

    EXPORTS   DllSample

See Linker tõrge võib ilmneda sagedamini kui __declspec(dllexport) märksõna ja. DEF faili abil saate määratleda sama funktsiooni nime saanud. DLL-i projekti.

Lahendus

Selle probleemi lahendamiseks määratlege eksporditud funktsioonide vaid üks kord __declspec(dllexport) märksõnade abil või kasutades a. DEF faili. Ärge kasutage Mõlemad meetodid.

Olek

Selline käitumine on ette nähtud.

Lisateave

Funktsiooni eksportida rohkem kui üks kord kuulutab võib tekitada Linker tõrge, 32-bitised versioonid Microsoft Windowsi C++ kompilaatori ja Linker käesoleva artikli jaotises "Tunnused" kirjeldatud. Microsoft soovitab siiski määratleda funktsiooni eksport vaid üks kord Windowsi C++ kompilaatori ja Linker 32-bitine ja 64-bitised versioonid.

Kas vajate veel abi?

Kas soovite rohkem valikuvariante?

Siin saate tutvuda tellimusega kaasnevate eelistega, sirvida koolituskursusi, õppida seadet kaitsma ja teha veel palju muud.

Kogukonnad aitavad teil küsimusi esitada ja neile vastuseid saada, anda tagasisidet ja saada nõu rikkalike teadmistega asjatundjatelt.

Kas sellest teabest oli abi?

Kui rahul te keelekvaliteediga olete?
Mis mõjutas teie hinnangut?
Kui klõpsate nuppu Edasta, kasutatakse teie tagasisidet Microsofti toodete ja teenuste täiustamiseks. IT-administraator saab neid andmeid koguda. Privaatsusavaldus.

Täname tagasiside eest!

×