Closed yatima1460 closed 5 years ago
The current installer uses the binaries from msys2.
I'll see about creating the zip file, but i'll have to check if GtkD handles a GTK that is not in the PATH properly.
I can confirm it works
I just dumped the 32-bit .dlls inside my executable folder that uses GtkD and the application started on Windows 10
(need to try the 64-bit)
The only bug is that some icons didn't appear, but that's normal because there is no theme installed
Also if your website is not hosted on Github Pages I recommend to add the zip binaries here on GitHub Releases so me and other devs will not destroy your bandwidth
Or we could setup a repository using Travis Windows to create them daily. (does Travis even support MSYS2)?
I am trying with vcpkg but Travis just crashes It seems MSBuild is badly installed/not installed even when they claim it's installed
https://github.com/yatima1460/GTK3-Windows-x64/blob/master/.travis.yml
@MikeWey I found the best solution, forget your MSYS .dlls, vcpkg can build fresh GTK dlls now on Windows but you need to add support for it
The current problem is that Loader.d
can't find the .dlls even when they are renamed and put in the same folder of my executable
First it can't find libgdk-3-0.dll
because vcpkg
generates a different name, after renaming it, it loads the .dll but it needs libgtk-3-0.dll
too but after renaming that too it doesn't work and continues to whine that libgtk-3-0.dll
is missing even when it's in the same folder
built them if you need them
https://github.com/yatima1460/GTK3-Windows-Binaries/releases/tag/3.22.19-2
Nice, did you sort out the naming issue with the dll's. It looks like that compared to the other platforms vcpkg
doesn't include the so version in the dll name?
Nope, can't understand why, I renamed both libraries but it can't find libgtk-3-0.dll even when it's in the same folder but can find libgdk-3-0.dll
object.Exception@GtkD-3.8.5\generated\gtkd\gtkd\Loader.d(125): Library load failed (libgtk-3-0.dll): The specified module could not be found.
The only reason I can think of is that vcpkg adds the name gtk-3.dll
(original name coming out from vcpkg) as a #define somewhere inside the .dll too
Maybe I can try to rename these and if it works add a version(Windows) {}
That would be because libgtk-3-0.dll
depends on the other libraries which it can no longer find because they have been renamed.
For renaming the libraries you will need to change these:
https://github.com/gtkd-developers/GtkD/blob/master/generated/gtkd/gobject/c/functions.d#L32
They are in the same place for the other packages.
Does Travis support 7zip?
https://github.com/gtkd-developers/Gtk-Installer/releases/tag/v3.24.8
Yes, Travis on Windows is Git Bash with 7zip already installed
And even if it wasn't there you could wget it! Or use choco to install it too
Thanks
I will check if I can find a way to fix the vcpkg gtk
wingtk (#270) also uses different names for the gtk dll's so i'll update the generator to generate the different possibilities for Windows.
My big project using GtkD:
https://github.com/yatima1460/Drill
now works on Linux and it's almost working on OSX too.
I would like to build a Windows version on Travis too and dump the necessary GTK .dlls inside a portable zip with the executable and then maybe create an installer too.
The GTK runtime you provide on the website is the best one I've tried, can you provide a .zip version instead of the .exe installer? And if you built that GTK yourself, how did you do it?
Thanks