0
\$\begingroup\$

I'm currently developing a game on Windows using the MSYS2 environment and mingw64. I've successfully installed SDL2 using the msys package manager (pacman) and using CMake, was able to get it up and running. However, I've noticed that my application runs without requiring the SDL2.dll file which I have noticed is typically needed for running SDL2 applications on Windows.

While this wouldn't really bug me if I were using SDL just for learning, I am concerned about deployment (on Windows only) as I intend to release it on Steam and it seems essential to include the SDL2.dll file for the game to run correctly on Windows systems. I should mention that I when installed SDL2 using msys via pacman, it does provide the SDL2.dll file.

So, if I decide to deploy my game on Steam, is it just a matter of copying the SDL2.dll file into the same directory as my game executable? Will this ensure that my game runs correctly on Windows systems without requiring users to install SDL2 separately?

I am new in terms of all of this msys and mingw stuff as I am mostly a Linux user, but decided to switch to Windows mainly because I am thinking about deploying my game on Steam for Windows.

\$\endgroup\$

1 Answer 1

0
\$\begingroup\$

If no SDL2.dll is used while using MSys two thing can be happening:

  • maybe SDL2.dll is on an MSys shared folder
  • maybe SDL2 is compiled statically inside your exe binary

On the first issue you should copy your game binaries (exe & data) to ther computer and check if it runs well without SDL2.dll. If your game runs on a clean without MSys installed environment then you do not need to include anything on steam to be published, however I recomend reading the latest steam-documentation publishing recomendations.

On the second issue if you include SDL2.dll or others compilled statically you should check project licenses: some licenses like LGPL requires to you to use DLLs and not compile statically or make all your game opensource, for example. Check it for the version that you are actually using. From version to version on the same project license terms can vary.

\$\endgroup\$

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.