On Saturday, 28 November 2020 at 15:58:57 UTC, Jack wrote:
So I build a Gtk executable with dmd, following this[1] tutorial but no tool ldd, nlldd, listdlls[2], dependencies[3] list the gtk's dlls that the executable, as far I know, depends on to run, hence the need to install the Gtk runtime[4]. What am I missing?

all those tools only return the windows dlls:

ldd a.exe
ntdll.dll => /c/WINDOWS/SYSTEM32/ntdll.dll (0x7ffb1c5f0000)
        ntdll.dll => /c/Windows/SysWOW64/ntdll.dll (0x77b50000)
wow64.dll => /c/WINDOWS/System32/wow64.dll (0x7ffb1a820000) wow64win.dll => /c/WINDOWS/System32/wow64win.dll (0x7ffb1c270000)
]

that's supposed to return something like this:

libatk-1.0-0.dll
libatomic-1.dll
libbz2-1.dll
libcairo-2.dll
libcairo-gobject-2.dll
libcroco-0.6-3.dll
libcrypto-1_1.dll
libdatrie-1.dll
...

[1]: https://github.com/gtkd-developers/GtkD/wiki/Installing-on-Windows [2]: https://docs.microsoft.com/en-us/sysinternals/downloads/listdlls
[3]: https://github.com/lucasg/Dependencies
[4]: https://gtkd.org/Downloads/runtime/gtk3-runtime_3.24.8_32bit.exe

I figured out, I guess. gtkd doesn't link those statically rather load it dynamically[1], so it's showing up in the mentioned tools. So Linker.getLoadLibraries() return those dlls filenames.

[1]: https://github.com/gtkd-developers/GtkD/blob/master/src/gtkd/Loader.d

Reply via email to