Windows, I would appreciate it if you could help me understand how to do it correctly:
I saw that it's a mess in Windows for some reason.
In Linux I use Gcc + Make / Cmake and that's it.
In Windows I saw that there are:
Visual Studio MSVC
MinGw, Msys2, Cygwin, Wsl...
and for automation: NMake, Cmake, Ninja
I'm trying to sort things out and understand why there are so many and with which one I can run projects on Windows.
Disadvantages I saw:
Cygwin:
The binary will look for the Cygwin DLLs only and the binary cannot be run without them
NMake
It is possible to work only from the CLI of VIsual Studio
MSVC
It's also complicated, you have to work from the CLI of VIsual Studio
Msys2 + Cmake
Looks the most promising. But I don't know about it even if there are any disadvantages. And it is not clear why it has so many compilers like MinGW, Clang, UCrt64
Why does Rust not have this complication?
Ninja isn't just for Windows. I think building can be a kind of complex thing regardless of OS
Cygwin attempts to make Windows POSIXy. So you should ask yourself if that's something you want/need
Yes because it simplifies But the disadvantage is that then you have to include cygwin runtime DLLs, and that's a blocker
OK but I'm curious why that is that so bad for you?
I don't want to be dependent on its DLLs because they are heavy
OK, looks like that's ruled out then
Yes... I want simplicity in both dev ux and end user ux
Rust doesn't have the complication probably because it isn't nearly as old
C++ needs some cross platform build automation + compiler. I Don't understand why it's not created in these 30 years where c++ exists
You could always lead the way, or contribute towards projects attempting to do just that. Your contribution will be most welcome.
CPP don't "need" it, perhaps you like to have this stuff.
Обсуждают сегодня