I can’t speak definitively on the Win7 error. It kind-of looks like you might be mixing debug-mode and release-mode SDL dlls, but I could be wrong there.
On the Win8 error, that looks like it might be a bug in SDL, one where the commit you referenced (also referenced on the official SDL hg server, via SDL - added new SDL_JoystickCurrentPowerLevel() API that returns the … · libsdl-org/SDL@a0c4b56 · GitHub ), caused builds against certain versions of the Windows SDK to fail. I get the same error on WinRT, after having updated one of my own repos to the latest SDL code (from hg.libsdl.org). From briefly looking at the copy of the Windows SDK I have, it looks like the Win8+ SDKs have a few identical type declarations, which MSVC is unable to reliably resolve.
If I can find time in the next few weeks, I can take a stab at providing a patch (to Sam, Ryan, etc.), but make no guarantees. I don’t have an actively-working Win7 dev system anymore though, so I wouldn’t be able to test building there.
If I can find time in the next few weeks, I can take a stab at providing a patch (to Sam, Ryan, etc.), but make no guarantees. I don’t have an actively-working Win7 dev system anymore though, so I wouldn’t be able to test building there.
I came up with a quick, largely-untested patch just now. I’ve only tested it on WinRT though. Feel free to give it a shot wherever. I suspect it may work on Win32 + MSVC 2015, but I make no guarantees on that.
Yeah, best way to fix it is to compile the source yourself since Visual Studio 2015 made changes that broke several Visual Studio builds (anything prior to VS2015 that is). I know because I had to contend with errors like that popping up.
Hopefully, a precompiled Visual Studio 2015 build becomes available for those who don’t want to compile it themselves.
I’ve decided to go ahead and redistribute a working Visual Studio 2015 Multi-Threaded Build (32-bit x86). It is actually compiled as a DLL (only tweaked the code generation setting), but should not require any Visual C++ 2015 Runtime Package to run.
Of course, if anyone wants me to compile a Multi-Threaded DLL build that requires the Runtime Package, let me know.
The error with _XINPUT_BATTERY_INFORMATION is gone now. However I’m still experiencing previous build errors, listed below for debug and release builds respectively.
It kind-of looks like you might be mixing debug-mode and release-mode SDL dlls, but I could be wrong there.
Nope, I double checked this. 2013 is fine, 2015 results in errors. I’m using SDL as git submodule in my project therefore I’m not able to change its cmake makefiles. I’m including it in my cmake file with ExternalProject_Add. And I’m not sure if I can add required static libraries externally to SDL cmake project.
Sorry to hear that, and unfortunately I don’t think I can be of much help here. I am unfamiliar with SDL’s CMake setup, or CMake in general. I wouldn’t be surprised if there was either a bug in SDL’s CMake files, or perhaps CMake + VS2015, but am uncertain of this.