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, andEOSSDK-Win32-Shipping.lib
for a 32-bit application. - The run-time library is
EOSSDK-Win64-Shipping.dll
for a 64-bit application, andEOSSDK-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
.