Hi,
In reply to Hapax, I'm building statically.
In reply to eXpl0it3r, you are correct and I was wrong, my program compiles fine if I move openal32.dll, but it won't run if I do that. If I try to run "Using the local windows debugger from Visual Studio" after renaming the dll for example, it says "The program can't start because OpenAL32.dll is missing from your computer. Try reinstalling the program to fix the problem." When I put it back where it is now, in Visual Studio's working directory, the program runs fine even though the dll is not in the debug or release directory alongside the exe.
If I were to try to run the .exe OUTSIDE of Visual Studio though (Say from file explorer) I think you are correct, at that point the dll would need to be right next to the EXE along with my other game assets but for some reason within Visual Studio it looks somewhere else.
To make my Visual Studio directories as confusing as possible I accidentally named my Solution and Project the same thing so I have nested "Dark Ruins" directories.
Here's my actual directory structure within the top level Dark Ruins project directory.
Everything works fine when I run the debugger from inside Visual Studio.
C:\Users\Erdrick\Documents\Visual Studio 2015\Projects\Dark Ruins>tree /f
Folder PATH listing for volume Windows
Volume serial number is 2255-631E
│ contributors.txt
│ Dark Ruins.sdf
│ Dark Ruins.sln
│
├───Dark Ruins
│ │ 20th_century_brown_vintage_paper.png
│ │ 250773__ninafoletti__walks-on-stones.wav
│ │ Amarok-logo-small.png
│ │ arial.ttf
│ │ base_unit.png
│ │ constants.h
│ │ currency.png
│ │ Dark Ruins.vcxproj
│ │ Dark Ruins.vcxproj.filters
│ │ Dark Ruins.vcxproj.user
│ │ guild.cpp
│ │ guild.h
│ │ inventory.cpp
│ │ inventory.h
│ │ item.cpp
│ │ item.h
│ │ main.cpp
│ │ map.cpp
│ │ map.h
│ │ openal32.dll
│ │ reppin_fools_gold.wav
│ │ sandstone_floor0.png
│ │ test.txt
│ │ unit.cpp
│ │ unit.h
│ │
│ ├───Debug
│ │ │ Dark Ruins.Build.CppClean.log
│ │ │ Dark Ruins.log
│ │ │ inventory.obj
│ │ │ item.obj
│ │ │ main.obj
│ │ │ map.obj
│ │ │ unit.obj
│ │ │ vc140.idb
│ │ │ vc140.pdb
│ │ │
│ │ └───Dark Ruins.tlog
│ │ CL.command.1.tlog
│ │ CL.read.1.tlog
│ │ CL.write.1.tlog
│ │ Dark Ruins.lastbuildstate
│ │ link.command.1.tlog
│ │ link.read.1.tlog
│ │ link.write.1.tlog
│ │
│ ├───items
│ │ gold_sack.png
│ │ grey_gold_sack.png
│ │ no_item.png
│ │
│ ├───Release
│ │ │ Dark Ruins.Build.CppClean.log
│ │ │ Dark Ruins.log
│ │ │ guild.obj
│ │ │ inventory.obj
│ │ │ item.obj
│ │ │ main.obj
│ │ │ map.obj
│ │ │ unit.obj
│ │ │ vc140.pdb
│ │ │
│ │ └───Dark Ruins.tlog
│ │ CL.command.1.tlog
│ │ CL.read.1.tlog
│ │ CL.write.1.tlog
│ │ Dark Ruins.lastbuildstate
│ │ link.command.1.tlog
│ │ link.read.1.tlog
│ │ link.write.1.tlog
│ │
│ └───sounds
│ effect_fools_gold.wav
│
├───Debug
│ Dark Ruins.exe
│ Dark Ruins.ilk
│ Dark Ruins.pdb
│ SFML.pdb
│
└───Release
Dark Ruins.exe
Dark Ruins.iobj
Dark Ruins.ipdb
Dark Ruins.pdb