Troubleshooting Building EE for Windows with Visual Studio

Hello! I am trying to figure out how to compile Empty Epsilon so I can test and contribute some updates for the continued localization/translation efforts, as well as some customizations for a game room project.

Issue

I get through the CMake generation and the Visual Studio build, but when I open [build directory]/Release/EmptyEpsilon.exe I get the following error and the program will not run:

  • “The code execution cannot proceed because sfml-system-2.dll was not found. Reinstalling the program may fix this problem.”
  • Same as above but for sfml-audio-2.dll
  • Same as above but for sfml-network-2.dll
  • Same as above but for sfml-window-2.dll

My Process

  • I am following the instructions found on the EmptyEpsilon wiki here: https://github.com/daid/EmptyEpsilon/wiki/Build%5CWindows-with-MSVC
  • Software Versions:
    • Microsoft Visual Studio Community 2017 (Version 15.8.9)
    • Microsoft Visual C++ 2017
    • CMake (GUI) 3.21.1
    • SFML version 2.5.1 for “Visual C++ 15 (2017) - 32-bit”
    • EmptyEpsilon and SeriousProton EE-2021.06.23
  • I had the following settings in the CMake GUI
  • I configured in CMake with the following settings:
  • Configuring spits out three warnings:

1) CMake Warning (dev) at C:/Users/User/Development/BeyondPlay/Pelihuone/Win32_EmptyEpsilon_EE-2021.06.23/GitHub/SeriousProton-EE-2021.06.23/CMakeLists.txt:45 (find_package):

Policy CMP0074 is not set: find_package uses <PackageName>_ROOT variables.

Run "cmake --help-policy CMP0074" for policy details. Use the cmake_policy

command to set the policy and suppress this warning.


2) CMake variable SFML_ROOT is set to:

C:/Users/User/Development/BeyondPlay/Pelihuone/Win32_EmptyEpsilon_EE-2021.06.23/GitHub/SFML-2.5.1-windows-vc15-32-bit/SFML-2.5.1

For compatibility, CMake is ignoring the variable.

This warning is for project developers. Use -Wno-dev to suppress it.


3) CMake Deprecation Warning at C:/Users/User/Development/BeyondPlay/Pelihuone/Win32_EmptyEpsilon_EE-2021.06.23/GitHub/SeriousProton-EE-2021.06.23/src/json11/CMakeLists.txt:1 (cmake_minimum_required):

Compatibility with CMake < 2.8.12 will be removed from a future version of

CMake.

Update the VERSION argument <min> value or use a ...<max> suffix to tell

CMake that the project does not need compatibility with older versions.


  • The warnings don’t get in the way of generating, so I clicked “Generate” next and then “Open Project”. 
  • This opened a Visual Studio window with the Solution “EmptyEpsilon” loaded
  • I first tried to select Build -> Build Solution and it built some things, but I could not find an EmptyEpsilon.exe anywhere in the build directory. I realized that I had things set to “Debug” and not “Release”, so I updated that. Build -> Configuration Manager
  • I then ran “Build Solution” in Visual Studio again. It builds successfully, but skips 3 things:

8>------ Skipped Build: Project: update_locale, Configuration: Release Win32 ------

8>Project not selected to build for this solution configuration 


12>------ Skipped Build: Project: INSTALL, Configuration: Release Win32 ------

12>Project not selected to build for this solution configuration 


13>------ Skipped Build: Project: PACKAGE, Configuration: Release Win32 ------

13>Project not selected to build for this solution configuration

  • I can now find [build directory]/Release/EmptyEpsilon.exe and get the above errors.


tl;dr

  • The 4 SFML .dll files can be found in the SFML_ROOT directory .../SFML-2.5.1/bin 
  • CMake “Found SFML 2.5.1 in .../SFML-2.5.1/include”
  • There are no errors from the Visual Studio build
  • I’m not sure where to look for the 4 SFML .dll files in the build directory...


Halp! Does anyone have any suggestions of what to look for or try next?

Comments

  • Hi, from what I can tell, you are missing the third prerequsity: SFML msvc binaries: Either the 32bit or 64bit variant (choose appropriately)from the "Build with MSVC" wiki page.

    I personaly build with WSL and usually I do ninja package, then extract all DLLs from that zip to build folder and then run it from WSL terminal and use MSVC only as IDE. I usually get the same error when I build from scratch and forgot to copy those DLLs back to tbe build folder.

Sign In or Register to comment.