On Thursday, 17 September 2015 at 05:27:08 UTC, Mike Parker wrote:
On Thursday, 17 September 2015 at 04:58:05 UTC, WhatMeWorry
wrote:
Compiling and linking was error free, but when I hit
DerelictFT.load();
my program aborts with the following run time message:
derelict.util.exception.SymbolLoadException@source\derelict\util\exception.d(35):
Failed to load symbol FT_Reference_Face from shared library freetype.dll
This function was added to FreeType in version 2.4.2, so you
will see this error when trying to load an older version.
First of all, I'm not sure if I have a valid freetype.dll
file. How does one tell? I downloaded freetype-2.6 but
couldn't find anything there. I downloaded freetype-2.3.5 and
found a freetype6.dll which I renamed to freetype.dll because
that was want an online discussion said.
DerelictFT currently requires FreeType 2.5 or later (though
I've not yet looked into updating to the 2.6 API). What problem
did you have with the 2.6 binary you downloaded?
Using the 2.3.5 and 2.4.2 binaries is bound to result in
SymbolLoadExceptions, as any functions added in 2.5 will not be
present in those binaries. You can work around this by building
your own if you can't find anything precompiled online, but if
you aren't using any 2.5 features, I would suggest you look
into using DerelictUtil's selective symbol loading
mechanism[1]. You'll need to decide a minimum version of
FreeType to support, then diff the headers from that version
with later releases to see which functions were added in later
versions. Check for those functions in a MissingSymbolCallback
and you can load without any SymbolLoadExceptions.
Also, an alternative to renaming the DLL is to pass the name
directly to the loader:
Version(Windows) DerelictFT.load("freetype6.dll");
else DerelictFT.load();
[1] http://derelictorg.github.io/using/fail.html
Ok. I could not find a pre-compiled freetype.dll so I downloaded
Freetype 2.5.5 and built it anew with a new install of Visual
Studio 2015.
But now I'm getting a run time error saying:
derelict.util.exception.SymbolLoadException
@source\derelict\util\exception.d(35): Failed to load symbol
FT_Init_FreeType from shared library freetype.dll
After hours of reading existing freetype/derelict documents, I'm
stuck again.
Any suggestions. Thanks.