www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - list dll from Gtk executable build with dmd not working

reply Jack <jckj33 gmail.com> writes:
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
Nov 28 2020
parent Jack <jckj33 gmail.com> writes:
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
Nov 29 2020