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
>> 

Reply via email to