gtk arch issues
Mike Wey via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Mon Jul 31 13:37:11 PDT 2017
On 31-07-17 19:16, Johnson Jones wrote:
> how does one allow both gtk x86 and x64 to work side by side seamlessly?
>
> I installed x64 first and it seems, because whatever is using the path
> to find the gtk runtime, it looks for that first even in x86 build.
>
> Seems like gtkd's dll resolution is not very intelligent. While I could
> manually modify the path each time I switch archs, that seems pointless.
>
> One of the problems in gtkd is that it has multiple places where it
> defines libgdk-3-0.dll.
>
>
> I've tried modifying gdkD so that it uses versioning properly by
> searching for libgdk-3-0.dll and changing all to use an x86 or x64 when
> appropriate but that doesn't seem to help. Probably have to rebuild gtkD.
>
> Anyways, doesn't seem to be a great solution ;/ Any ideas and maybe
> someone can add an issue to the github page to get this fixed? (I can't
> do it for a while because of other issues).
>
At startup GtkD searches the Path for "libgtk-3-0.dll", when it finds
one it checks the architecture of the library. If it's the correct
architecture it calls `SetDllDirectory` so that the directory with the
correct architecture will be searched first by `LoadLibrary`.
If it's not the correct architecture it continues searching, if no
library with the correct architecture is found, we rely on `LoadLibrary`
to error out if the libraries are also not in the other locations
searched by `LoadLibrary`.
--
Mike Wey
More information about the Digitalmars-d-learn
mailing list