Article ID: 835326 - View products that this article applies to.
When you build a DLL by using the 64-bit version of the Microsoft Visual C++ Compiler and Linker, you may receive Linker error number LNK4197 if a function has been declared for export more than one time.
The Linker output may be similar to the following:
The Linker error number LNK4197 is generated when a function has been declared for export more than one time. A function is declared for export in one of the following ways:
To resolve this behavior, define exported functions only one time, either by using the __declspec(dllexport) keyword or by using a .DEF file. Do not use both of these methods.
Declaring a function for export more than one time may not produce the Linker error that is described in the "Symptoms" section of this article in 32-bit versions of the Microsoft Windows C++ Compiler and Linker. However, Microsoft recommends that you define function exports only one time in both 32-bit and 64-bit versions of the Windows C++ Compiler and Linker.