[SOLVED] I was being stupid, please move along, but perhaps this thread will help someone else who has done the same stupid thing in the future!
Hey, this has been driving me nuts the past 24 hours and I haven’t been able to find a solution. I’m in Windows 10, using Visual Studio 2019, I compile my standalone audio application in Release mode for x64. Runs fine on my computer but when sent around to a few friends (also Windows 10) they all get errors due to missing some combination of these files when they try to run it:
MSVCP140D.dll
VCRUNTIME140_D.dll
ucrtbased.dll
Here are things I have tried that I found in other posts but have not helped:
Tried setting both .dll runtime and static runtime from projucer
Installed Microsoft Microsoft Visual C++ Redistributable for VS 2019
Installed all the Windows 10 SDKs from VS tools installer
Tried scanning the exe with DependencyWalker but the tool kept freezing up and gave me errors saying it couldn’t complete the scan
Not sure if these .dlls not being compiled in with the executable is expected behavior or not. I’ve read that in general I can package in whatever dependencies I need by using an installer but given that my program is only using the JUCE library and standard C++ libraries (except for calling a Faust-generated header file for some processing) it seems odd to me if that were the case. Thanks in advance for any ideas!!
Looking at the missing dlls it seems you sent them by accident the debug version.
Or you are linking a third party library that then requires the debug runtime (sounds more likely since you said you checked).
Ok with the help of people on the audio programmer discord helping me to eliminate everything else I have found the problem and it is incredibly stupid, I was building in Release but I still had the Debug folder bookmarked and was pulling the build from there
Sorry for the waste of time
I’ve worked in recording studios most of my career and definitely feeling my own words echoing in my head of what I tell interns and assistants when they say something is broken, “It’s possible that it’s broken but take a step back because it’s much more likely you are using it wrong”