MinGW vs MSVC: Difference between revisions

From Strawberry Music Player Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
For Windows, Strawberry provides two different versions, MinGW and MSVC. These are compiled using two different compilers.
For Windows, Strawberry provides two different versions, MinGW and MSVC.


Unlike previous versions, the MinGW and MSVC now has all the same features, so it does not matter much which one you use.
It's basically two different builds using two different compilers, MSVC is Microsoft Visual C++ while the other one is from a free software project called GNU ported to Windows.


Both releases features the latest versions of all libraries compiled by the Strawberry project.
Both releases use the current latest versions of libraries such as Qt, OpenSSL, Glib and GStreamer.
It always uses the latest versions of Qt 6, OpenSSL 3, Glib 2 and GStreamer.




Line 11: Line 10:
MSVC is Microsoft Visual C++, a proprietary compiler by Microsoft.
MSVC is Microsoft Visual C++, a proprietary compiler by Microsoft.


* Slightly better performance.
* Requires Microsoft Visual C++ runtime (redistributable).
* Has GStreamer WASAPI2 support.
* Has experimental ASIO support.
* Has Spotify support.
* More unlikely to be picked up by anti-virus software as false-positive.
* More unlikely to be picked up by anti-virus software as false-positive.
* A debug setup is available with console.
 
* Has GStreamer WASAPI2 support.
When using the MSVC version, always make sure you have up-to-date Visual C++ runtime (Microsoft Visual C++ Redistributable). If not, Strawberry will crash on start, or can crash later in the program.
You get get the latest version here:
https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170#latest-microsoft-visual-c-redistributable-version
Usually it's automatically installed through the Strawberry installer, but it won't be installed automatically if you already have the Visual C++ runtime, and an older version might cause instability.




Line 21: Line 26:
MinGW is a port of GCC to Windows. GCC is a free compiler by the GNU Project, usually found on all major Linux distributions.
MinGW is a port of GCC to Windows. GCC is a free compiler by the GNU Project, usually found on all major Linux distributions.


* Known to be stable.
* Debug version of the setups are available and includes the GDB debugger which makes debugging a crash easier.
* Debug versions of the setups are available and includes the GDB debugger.
* Lacks WSAPI exclusive mode and ASIO support.
* No spotify support.
* More likely to be picked up by anti-virus software as false-positive.
* More likely to be picked up by anti-virus software as false-positive.
* No GStreamer WASAPI2 support.




None of them currently has CD-support.
None of them currently has device and CD-support.

Latest revision as of 22:43, 21 September 2024

For Windows, Strawberry provides two different versions, MinGW and MSVC.

It's basically two different builds using two different compilers, MSVC is Microsoft Visual C++ while the other one is from a free software project called GNU ported to Windows.

Both releases use the current latest versions of libraries such as Qt, OpenSSL, Glib and GStreamer.


MSVC - Microsoft Visual C++

MSVC is Microsoft Visual C++, a proprietary compiler by Microsoft.

  • Requires Microsoft Visual C++ runtime (redistributable).
  • Has GStreamer WASAPI2 support.
  • Has experimental ASIO support.
  • Has Spotify support.
  • More unlikely to be picked up by anti-virus software as false-positive.

When using the MSVC version, always make sure you have up-to-date Visual C++ runtime (Microsoft Visual C++ Redistributable). If not, Strawberry will crash on start, or can crash later in the program. You get get the latest version here: https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170#latest-microsoft-visual-c-redistributable-version Usually it's automatically installed through the Strawberry installer, but it won't be installed automatically if you already have the Visual C++ runtime, and an older version might cause instability.


MinGW-W64 - Minimal GCC for Windows

MinGW is a port of GCC to Windows. GCC is a free compiler by the GNU Project, usually found on all major Linux distributions.

  • Debug version of the setups are available and includes the GDB debugger which makes debugging a crash easier.
  • Lacks WSAPI exclusive mode and ASIO support.
  • No spotify support.
  • More likely to be picked up by anti-virus software as false-positive.


None of them currently has device and CD-support.