2

I have searched for this for many site and failed. But what does TDM stand for in "TDM-gcc"? It confuses me when I want to choose gcc as the compiler. So, what's the difference? Should I choose TDM or NON-TDM? Or is TDM only for minGW on Windows platform?

The official TDM-gcc site don't even explain it...

Robin Hsu
  • 4,164
  • 3
  • 20
  • 37

1 Answers1

7

TDM-GCC is a GCC distribution on Windows. TDM stands for Twilight Dragon Media, the project's name.

Since you want GCC on Windows, you've 3 popular options

  1. Mingw-w64
  2. MinGW
  3. TDM-GCC

Also choose the right exception and threading model. Details: What is difference between sjlj vs dwarf vs seh? and mingw-w64 threads: posix vs win32.

If you not only want GCC but also a Unix-like shell with all the bin, core and findutils, you may use Cygwin or the lighter MSYS2. I personally prefer the latter; it also has a package manager and you get frequent updates for the packages installed.

legends2k
  • 31,634
  • 25
  • 118
  • 222
  • Is there a package for Windows based on GCC 7.1 with OpenMP support? – Royi Jul 05 '17 at 20:31
  • All three should have OpenMP support. I tried with option 1 (Windows 10, GCC 7.1 from mingw-w64) and it does support it; make sure you add `-fopenmp` and include `omp.h`. – legends2k Jul 06 '17 at 18:20
  • Where do I download the binary files of MinGW-W64 (Latest version with GCC 7.1)? On their download page they link to Arch Page which only has files for user compilation. Are there binary files? – Royi Jul 06 '17 at 19:27
  • Yeah, mingw-w64 comes in a variety of forms. [mingw-builds](https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/) is one good place to get binary packages, both as archives and installer. Read [TDM's quriks page](http://tdm-gcc.tdragon.net/quirks) for details on the variants you'd see based on bit width, threading and exception mechanisms; usually I go for 32-bit, posix and dwarf builds. – legends2k Jul 06 '17 at 22:03
  • How can I know which ones will support OpenMP? Will a DLL compiled with OpenMP compiled with GCC be able to work on any Windows? – Royi Jul 07 '17 at 09:33
  • I think all of them do. I _think_ [OpenMP support is from Windows 2000](https://learn.microsoft.com/en-us/cpp/build/reference/openmp-enable-openmp-2-0-support) onwards. But hey, why don't you search it yourself before asking. These details are trivial to find on the internet. Also finding it yourself will lead to you getting more answers than asking pointed questions which were answered long back. – legends2k Jul 07 '17 at 15:37