November 28, 2020
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
November 29, 2020
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