EOS SDK for Windows

Reference information for implementing EOS SDK for Windows.

1 min to read

Before implementing the SDK with Windows, be sure to review the general guidelines and references for platform implementation.

Building on Windows

Windows does not require the use of Windows/eos_Windows_base.h. It is provided to ease implementation of a cross-platform product.

Linking on Windows

Windows requires you to add both the link-time library and load-time library to the link command for your project.

  • The link-time library is EOSSDK-Win64-Shipping.lib for a 64-bit application, and EOSSDK-Win32-Shipping.lib for a 32-bit application.
  • The run-time library is EOSSDK-Win64-Shipping.dll for a 64-bit application, and EOSSDK-Win32-Shipping.dll for a 32-bit application.

Use /DELAYDLL during linking to prevent the library from automatically loading at startup. Read the Loading section below for more information.

Loading on Windows

If you do not link using /DELAYDLL then the EOS SDK will load automatically at the start of the application. When using /DELAYDLL then there are two ways that you can load the DLL.

The standard use is a fully implemented __delayLoadHelper2 function. This will allow the first call to the EOS SDK to automatically load the DLL. Microsoft provides an implementation with the MSVC Toolchain in the file delayhlp.cpp. You can prevent the automatic loading of the DLL by providing a completely blank implementation, similar to:

Alternatively, you can explicitly load the module with the following:

Where Filename is the path to the EOS SDK DLL file. If the DLL is in the working directory of the game then the filename does not need to be a full path. This will most likely be something similar to EOSSDK-Win64-Shipping.dll for 64-bit Windows.

Unloading the Module

To unload the module you can use:

::FreeLibrary(Module);

Where Module is the value returned by ::LoadLibrary.