------- Comment #3 from john at quivinco dot com 2010-08-06 20:48 ------- I just read this...
TDM-GCC has been built to allow the use of GCC's "-fopenmp" option for generating parallel code as specified by the OpenMP API. (See <http://gcc.gnu.org/onlinedocs/libgomp/> for details.) If you want to use OpenMP in your programs, be sure to install the "openmp" optional package. The OpenMP support in the TDM-GCC builds has received very little testing; if you find build or packaging problems, please send a bug report (see BUGS above). LibGOMP, GCC's implementation of OpenMP, currently only supports the use of the POSIX Threads (pthreads) api for implementing its threading model. Because the MinGW project itself doesn't distribute a pthreads implementation, the "pthreads-win32" library, available from http://sourceware.org/pthreads-win32/, is included in this distribution. If you aren't familiar with pthreads-win32, please read the file "pthreads-win32-README" for more information, or the documentation available at the website referenced above. pthreads-win32 is distributed under the terms of the LGPL; see "COPYING.lib-gcc-tdm.txt" for details. In order to correctly compile code that utilizes OpenMP/libGOMP, you need to add the "-fopenmp" option at compile time AND link time. By default, this will link the standard C-cleanup DLL version of pthreads-win32 to your program, which means that you will need to ensure that the file "pthreadGC2.dll" (included in the "bin" subdirectory in the openmp package) can be found by your program. If you plan to distribute a program that relies on pthreads-win32, be sure to understand and comply with the terms of the LGPL (see COPYING.lib-gcc-tdm.txt). "libpthread.a" is included in the "lib" subdirectory of the openmp package along with two other pthreads library files: - "libpthreadGC2-static.a" provides a static version of the pthreads-win32 library, but it requires some additional non-POSIX-compliant startup code to be included in your program. See "pthreads-win32-README" for details. - "libpthreadGCE2.a" provides a version of the pthreads-win32 library with a somewhat safer response in the face of unexpected C++ exceptions. The creators of the pthreads-win32 library recommend, however, that this version not be used, because code written to rely on this is less portable. Anyone tried this or know where to get pthreadGC2.dll? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45192