A friend and I develop a graphical application using Raylib, SQLite and cURL in C++. We have a very weird requirement: we must support Windows 7. We would have used another programming language besides C++, but most others we looked at have compilers that require Windows 10 or later, with only old versions supporting Windows 7.
My question is: does the current Odin compiler support Windows 7? How can I find out which minimum Windows version is required? C++ and its surrounding build tools are pure pain and I want out, so if I could use Odin, that’d be fantastic.
last I checked (a few years ago now) it doesn’t support win7, I had to patch out the WaitOnAddress usage and replace it with my own shim in the task queue and in the core library.
I don’t believe I finished that work so I don’t know what the next blocker would be.
Thanks. When you say “modify the compiler”, is that required to run the compiler on Windows 7, or are there parts of the compiler itself that output code incompatible with Windows 7? In other words, if I don’t use any OS abstractions, would it work (assuming I rolled my own Windows OS integrations). For example, in Rust, you can compile without the stdlib and just output x86_64 assembly, then add your own OS code.
The compiler itself uses WaitOnAddress as part of the task queue implementation which is not available on windows 7. So you have to reimplement that part of the compiler itself. When I did that I could compile odin programs (the compiler worked fine for the demo source) but I couldn’t run them.
The odin standard library also uses includes WaitOnAddress by default, so that has to be patched out in the standard library, or just cull out that declaration if you don’t do anything that needs that.
I didn’t get any further than that a few years ago when I messed with that.