title: MinGW vs MinGW-W64 vs MSVC (VC++) in cross compiling
body: <p>Let's put like this: We are going to create a library that needs to be cross platform and we choose GCC as compiler, it works awesomely on Linux and we need to compile it on Windows and we have the MinGW to do the work.</p>
  
  <p>MinGW tries to implement a native way to compile C++ on Windows but it doesn't support some features like <code>mutex</code> and <code>threads</code>.</p>
  
  <p>We have the MinGW-W64 that is a fork of MinGW that supports those features and I was wondering, which one to use? Knowing that GCC is one of the most used C++ compilers. Or it's better to use the MSVC (VC++) on Windows and GCC on Linux and use CMake to handle with the independent compiler?</p>
  
  <p>Thanks in advance.</p>