On Wednesday, 31 December 2014 at 11:20:09 UTC, Mike Parker wrote:
On Wednesday, 31 December 2014 at 10:26:18 UTC, OlaOst wrote:
Works fine for me on windows, after running 'dub upgrade'.

I tested the SharedLibVersion with a 2.0.1 and a 2.0.3 SDL dll.
With the 2.0.3 dll, I could call functions added in SDL 2.0.2 even when using SharedLibVersion(2, 0, 0) - is this intended behaviour?

Yes. I guess I wasn't clear about this in my blog post. This isn't telling Derelict to "only load 2.0.0 functions and ignore the rest." It's instead saying, "Don't throw any exceptions if functions from 2.0.1 and 2.0.2 are missing." If you give it a 2.0.1 DLL, it will load 2.0.1 functions. Give it a 2.0.2 DLL and it will load 2.0.2 functions, regardless of what you pass in SharedLibVersion. But now you can happily load 2.0.0 and not worry about SymbolLoadExceptions. See below for the big caveat.


I can see this being useful for DerelictENet since ENet can be often packaged with older versions in various distros.

Reply via email to