I am thinking of a cross-platform C++ server application that may involve heavy internet traffic and multi-thread intensive calculations. I have read several comparisons about Cygwin and MinGW for cross-platform C++ application. Based on new information on the 5th answer of this StackOverflow question from Kaz, can I say the Cygwin has a better future?
on July 19, 2019, Kaz added the following new information (copied from there):
Plug: Shortly after the LGPL announcement, I started the Cygnal (Cygwin Native Application Library) project to provide a fork of the Cygwin DLL which aims to fix these issues. Programs can be developed under Cygwin, and then deployed with the Cygnal version of cygwin1.dll without recompiling. As this library improves, it will gradually eliminate the need for MinGW.
When Cygnal solves the path handling problem, it will be possible to develop a single executable which works with Windows paths when shipped as a Windows application with Cygnal, and seamlessly works with Cygwin paths when installed in your /usr/bin under Cygwin. Under Cygwin, the executable will transparently work with a path like /cygdrive/c/Users/bob. In the native deployment where it is linking against the Cygnal version of cygwin1.dll, that path will make no sense, whereas it will understand c:foo.txt.
He said: As this library improves, it will gradually eliminate the need for MinGW. What does this really mean?