On Sunday, 24 May 2020 at 05:15:19 UTC, Mike Parker wrote:
On Sunday, 24 May 2020 at 04:16:10 UTC, Daniel C wrote:
On Saturday, 23 May 2020 at 19:59:51 UTC, Daniel C wrote:

There should be no need to revert to VS 2010. These errors indicate that something in your build process or setup is borked.

Have you tried building your app with dub and using bindbc-sdl as a dependency rather than doing it separately DMD? This way, you can ensure that everything is being compiled with the same options and the linker is getting the correct libraries.

I figured it out by going through the changelog for the compiler. From "Change Log: 2.069.0" @ https://dlang.org/changelog/2.069.0.html#link-against-vs2015

"If you don't use dmd for linking, make sure to add legacy_stdio_definitions.lib to your command line when linking against the VS2015 runtime."

Adding legacy_stdio_definitions.lib fixed that last problem. The 64-bit build is working as well.. I had mistakenly put the wrong DLL alongside it *facepalm*. It's using the default linker for 64-bit though, so I'll need to try with the Visual Studio linker. Now that I've figured out the rest, I think it should be trivial though.

Obviously the legacy_stdio_definitions.lib file needs to be documented somewhere on this site other than on a changelog.

I will probably use dub for projects in the future, but I wanted a quick compilation option for building single-file programs without the extra setup and structure dub entails.

Anyway, thanks for your help Mike! Without it I may have given up on D for another year or so ;-)

Reply via email to