Welcome, Guest. Please login or register. Did you miss your activation email?

Author Topic: Link issue: sfml-window-d-3.dll  (Read 258 times)

0 Members and 2 Guests are viewing this topic.

Niety

  • Newbie
  • *
  • Posts: 1
    • View Profile
    • Email
Link issue: sfml-window-d-3.dll
« on: February 20, 2025, 12:11:28 am »
Hi and nice to meet you :).

So, my problem is pretty straightforward:

1) I downloaded the new SFML 3.0 version for C++ 17 x32 bits (check attachments if you need)

2)I followed the entire tutorial to configure it using VS (https://www.sfml-dev.org/tutorials/3.0/getting-started/visual-studio/). Note: I'm NOT using the SFML_STATIC.

3) There are no errors regarding link or includes in my debug console when I try to compile/recompile the solution, BUT if I try to run the .exe it says that "the code can't continue because it's missing sfml-window-d-3.dll". This is occuring also for sfml-graphic-d-3.dll and sfml-system-d-3.dll. It's NOT occuring for audio/network, dont know why.

4) After running the program I get the exit code 3221225781: "missing libraries".

Things I've done so far:
1) changing v143 to v142, same issue.
2) run the program on debug and release, same issue for both.
3) re-downloaded the sfml package and did the whole tutorial again, same issue.
4) downloaded the C++ 17 x64 sfml package and did the whole tutorial, same issue

I understand that we have a new cmake template and I'll migrate to that later on, but would like to understand the root cause of this first.

Anyone already dealt with this problem before? I've been working with SFML past 8 years and can't remember dealing with this.

Hapax

  • Hero Member
  • *****
  • Posts: 3402
  • My number of posts is shown in hexadecimal.
    • View Profile
    • Links
Re: Link issue: sfml-window-d-3.dll
« Reply #1 on: February 20, 2025, 12:24:15 am »
Hi and welcome! :)

Sounds like you might have set up everything correctly inside Visual Studio.

However, since you're not building statically, you are building dynamically. This means that you will need the dynamic linked libraries (DLLs). These are the ones like "sfml-graphic-d-3.dll" that you mentioned. They need copying next to where the executable is.

Basically, find these:
sfml-audio-d-3.dll
sfml-graphics-d-3.dll
sfml-network-d-3.dll
sfml-system-d-3.dll
sfml-window-d-3.dll

and copy them to your build folder.

Note that if you are using Release build, you'll need the versions without "-d" (e.g. sfml-audio-3.dll). These should match the ones you listed in Linker->Input->Additional Dependencies (you'll need -d if you use debug build and DLLs).

If you're not using Audio module, you don't need the audio DLL.
If you're not using Network module, you don't need the network DLL.

But it's worth copying them all while you're getting used to it.

As to where they are...
Go to the download, and open the folders until you see a few where one should be "bin". Open "bin" and that's where your DLLs are 8)



For a bit more clarity and specificity:

In your solution folder, you will have "Debug" and "Release" for the 32-bit builds.
Place the debug (-d-3) DLLs into "Debug" and the release (-d) DLLs into "Release".
These must be from "bin" of the 32-bit download.

If you are building for 64-bit, there will also an "x64" folder in your solution folder. Insider that folder is - again - "Debug" and "Release".
You can place the debug (-d-3) DLLs into "Debug" and release (-d) DLLs into "Release".
These one must be from "bin" of the 64-bit download.
« Last Edit: February 20, 2025, 12:33:03 am by Hapax »
Selba Ward -SFML drawables
Cheese Map -Drawable Layered Tile Map
Kairos -Timing Library
Grambol
 *Hapaxia Links*