Přihlásit se pomocí účtu Microsoft
Přihlaste se nebo si vytvořte účet.
Dobrý den,
Vyberte jiný účet.
Máte více účtů.
Zvolte účet, pomocí kterého se chcete přihlásit.

Shrnutí

Při pomocí 64bitové verze kompilátoru Microsoft Visual C++ a propojovací program sestavení knihovny DLL, propojovací program číslo chyby LNK4197 můžete obdržet, pokud byla deklarována funkce pro export více než jednou.

Příznaky

Výstupní propojovací program může být podobná následující:

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říčina

Číslo chyby LNK4197 propojovací program vygeneruje, když byla deklarována funkce pro export více než jednou. Funkce je deklarována pro export v jednom z následujících způsobů:

  • Funkce je deklarována pomocí klíčového slova __declspec(dllexport) C zdrojový soubor:

    __declspec(dllexport) int DllSample() {   return 42;}
  • Funkce je deklarována pomocí definice modulu (. Soubor DEF):

    EXPORTS   DllSample

Propojovací program chybu dochází nejčastěji při obou klíčové slovo __declspec(dllexport) a. Slouží k definování názvu funkce v souboru .def. Projekt knihovny DLL.

Řešení

Chcete-li tento problém vyřešit, definovat exportovaných funkcí pouze jednou, pomocí klíčového slova __declspec(dllexport) nebo pomocí. DEF souboru. Nepoužívejte obě tyto metody.

Stav

Toto chování je záměrné.

Další informace

Deklarování funkce pro export více než jednou, nemusí poskytovat Linker chyba, která je popsána v části "Příznaky" tohoto článku v 32bitové verze systému Microsoft Windows C++ kompilátoru a propojovacího programu. Společnost Microsoft však doporučuje definovat funkci vývoz pouze jednou v 32bitových a 64bitových verzích systému Windows C++ kompilátoru a propojovacího programu.

Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.

Komunity vám pomohou klást otázky a odpovídat na ně, poskytovat zpětnou vazbu a vyslechnout odborníky s bohatými znalostmi.

Byly tyto informace užitečné?

Jak jste spokojeni s kvalitou jazyka?
Co ovlivnilo váš názor?
Po stisknutí tlačítka pro odeslání se vaše zpětná vazba použije k vylepšování produktů a služeb Microsoftu. Váš správce IT bude moci tato data shromažďovat. Prohlášení o zásadách ochrany osobních údajů.

Děkujeme vám za zpětnou vazbu.

×