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.