Linker Tools Warning LNK4104

 

The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

The latest version of this topic can be found at Linker Tools Warning LNK4104.

export of symbol 'symbol' should be PRIVATE

The symbol can be one of the following:

  • DllCanUnloadNow

  • DllGetClassObject

  • DllGetClassFactoryFromClassString

  • DllGetDocumentation

  • DllInitialize

  • DllInstall

  • DllRegisterServer

  • DllRegisterServerEx

  • DllRegisterServerExW

  • DllUnload

  • DllUnregisterServer

  • RasCustomDeleteEntryNotify

  • RasCustomDial

  • RasCustomDialDlg

  • RasCustomEntryDlg

This warning is emitted when you are building an import library for a DLL and export one of the above functions without specifying it as PRIVATE in the module-definition file. In general, these functions are exported for use only by OLE. Placing them in the import library can lead to unusual behavior when a program linked to the library incorrectly makes calls to them. For more information about the PRIVATE keyword, see EXPORTS.

Show: