Factsheet
What is MinGW, why there is a lot of compilers and why this is so confusing?
windows - How to compile C program on command line using MinGW? - Stack Overflow
How to do the mingw to code in c/c++
c - A simple explanation of what is MinGW - Stack Overflow
Videos
I am interested in learning to program in C++. I have noticed that it requires a compiler, but there are a lot of options available, which confuses me a little. I have heard about MinGW, but I find it difficult to determine which page to download it from, as there are several options such as winlibs, sourceforge, and mingw-w64.org, and I am not sure which one is the official one. Furthermore, once on the mingw-w64 page, I find that there are multiple versions such as Cygwin, LLVM-MinGW, w64devkit, MingW-W64-builds, MSYS2, and WinLibs.com, which further complicates my decision. I wonder why there isn't a standard official compiler to avoid this confusion and what exactly MinGW is, and how the available compilers such as GCC or Clang differ. I would appreciate any guidance on which one to choose and please excuse my lack of knowledge on the subject.
It indicates it couldn't find gcc.exe.
I have a path environment variable set to where MinGW is installed
Maybe you haven't set the path correctly?
echo %path%
does that include the path to gcc.exe? Otherwise, compilation is similar to Unix:
gcc filename.c -o filename
I've had this problem and couldn't find why it kept happening. The reason is simple: Once you have set up the environment paths, you have to close the CMD window, and open it again for it be aware of new environment paths.
Hello i'm on windows and I have been trying to code in c but i watched a YouTube saying I have to do the mingw process on sourceforge and it's been frustrating when I press next it just disappears can someone please help me I am very dedicated thanks
MinGW is a complete GCC toolchain (including half a dozen frontends, such as C, C++, Ada, Go, and whatnot) for the Windows platform which compiles for and links to the Windows OS component C Runtime Library in msvcrt.dll. Rather it tries to be minimal (hence the name).
This means, unlike Cygwin, MinGW does not attempt to offer a complete POSIX layer on top of Windows, but on the other hand it does not require you to link with a special compatibility library.
It therefore also does not have any GPL-license implications for the programs you write (notable exception: profiling libraries, but you will not normally distribute those so that does not matter).
The newer MinGW-w64 comes with a roughly 99% complete Windows API binding (excluding ATL and such) including x64 support and experimental ARM implementations. You may occasionally find some exotic constant undefined, but for what 99% of the people use 99% of the time, it just works perfectly well.
You can also use the bigger part of what's in POSIX, as long as it is implemented in some form under Windows. The one major POSIX thing that does not work with MinGW is fork, simply because there is no such thing under Windows (Cygwin goes through a lot of pain to implement it).
There are a few other minor things, but all in all, most things kind of work anyway.
So, in a very very simplified sentence: MinGW(-w64) is a "no-frills compiler thingie" that lets you write native binary executables for Windows, not only in C and C++, but also other languages.
To compile C program you need a C implementation for your specific computer.
C implementations consist, basically, of a compiler (its preprocesser and headers) and a library (the ready-made executable code).
On a computer with Windows installed, the library that contains most ready-made executable code is not compatible with gcc compiler ... so to use this compiler in Windows you need a different library: that's where MinGW enters. MinGW provides, among other things, the library(ies) needed for making a C implementation together with gcc.
The Windows library and MSVC together make a different implementation.
