Thanks Ethan - that’s really good to know :) I’ve got the Visual Studio free version installed on a VM and have just seen my first (Windows, not NSWindow) window appear. Just going to see if I can get SDL to link as well and then I’ll try creating a packaged setup and install on my (one and only) real Windows machine.
Cheers again! Simon > On Dec 11, 2024, at 9:47 am, Ethan C <[email protected]> wrote: > > Alternatively, you may want to use the MinGW toolchain. See the instructions > at > https://github.com/gnustep/tools-make/blob/master/Documentation/README.MinGW > for information on that. It also includes instructions on making it into a > self-contained folder. You will need to package the resulting folder and add > the binary to the Start menu yourself, but all you’d need to do is to make > your installer extract that folder somewhere on the filesystem and then add > the shortcut to the Start menu. > > On 12/11/24 11:30, Ethan C wrote: > >> Hi Simon, >> >> On 12/11/24 10:36, Simon Gornall wrote: >> >>> Hi folks, >>> >>> I’ve been a Mac engineer for the last couple of decades, and now I find >>> myself looking at writing something that will work on both Windows and the >>> Mac. If it were just for me, (from reading around) I think it’d be quite >>> straightforward - just install MSYS, the GNUstep packages, and start >>> running with it, but I might want to distribute this application in the >>> future, and I’m cautious about requiring a GNUstep install as a part of >>> that, it seems like a reasonably high bar. >>> >>> In fact, I’ll be using SDL (3, if it matters) for the graphics side (which >>> is cross-platform), what I’m really after here is the runtime and >>> Foundation framework that I’ve come to know and love - even better if it >>> has ARC :) >> >> libobjc2 is a pretty mature runtime, and it has useful features the >> Apple runtime doesn’t have, such as typed selectors (so having two >> methods in different classes with the same name but different types >> is no longer undefined behavior) and stuff to support dynamic >> languages that have other object models. Our Foundation >> implementation, gnustep-base, is also pretty mature, and if your >> code doesn’t work on gnustep-base it shouldn’t be too hard to get it >> working. If you need CoreFoundation, that might be a bit more >> difficult. I don’t know the status of gnustep-corebase, and I have a >> Linux-only port of the Catalina CoreFoundation with toll-free >> bridging enabled that I’m currently working on. >>> >>> I found https://github.com/gnustep/tools-windows-msvc but it’s not clear >>> whether this results in something I can package up (binary, DLLs in the >>> same directory etc.) and have an easy-to-use install.exe that means the >>> end-user doesn’t have to install GNUstep, or whether it depends on >>> filesystem layout etc (as I recall GNUstep needing, from using it a long >>> while ago). >>> >>> I have read a fair number of “it’s hard to get it working on Windows” >>> posts/articles but I’m hoping these are a bit self-selecting - people who >>> did struggle and wrote about it doesn’t mean that everyone struggles… >>> They’re also a bit older, and I’m (again) hoping things keep improving :) >>> >>> Anyway, and info/hints from people who’ve done something like this would be >>> appreciated - I’m at the stage where I’m planning stuff, and I don’t want >>> to paint myself into a corner. There’s always the option of using C++. But… >>> you know… :) >> >> You should look at >> https://gnustep.github.io/Guides/Setup/Windows/index.html; >> it includes all the information that Hugo Melder wrote about Windows >> setup. You should definitely be using tools-windows-msvc. I don’t >> know how to package it on Windows since I don’t use Windows often, >> but I know people have done it in the past for some decently large >> commerical applications, such as Algoriddim djay. >>> >>> Cheers >>> Simon >>
