On 6/4/2011 2:22 PM, René Berber wrote: > On 6/4/2011 12:49 PM, Jim Reisert AD1C wrote: >> René Berber suggested: >> >>> Use i686-pc-mingw32-gcc instead. >> >> That worked, thanks. That's not 100% correct, though, the command is >> (or seems to be): >> >> i686-w64-mingw32-gcc
No, the mingw-gcc(-core) package provides i686-pc-mingw32-gcc.exe. The mingw64-i686-gcc(-core) package provides i686-w64-mingw32-gcc.exe. The difference between the two is: 1) mingw-gcc (that is, i686-pc-mingw32-*) is based on the mingw.org distribution. It uses the mingw-runtime (e.g. msvcrt implibs & headers) and w32api headers developed by that project -- which happen to be the same as the ones used by the cygwin project itself. 2) mingw64-i686-gcc (that is, i686-w64-mingw32-*) is based on the mingw64.sf.net distribution. It uses a different, and independently developed, version of the msvcrt implibs, headers, and w32api headers. It shares this distinction with the mingw64-x86_64-gcc (that is, x86_64-w64-mingw32-*) compiler. However, the i686-w64 version creates 32bit output -- ONLY. the x86_64-w64 version creates 64bit output ONLY. Furthermore, both the i686-w64 and x86_64-w64 versions use "sjlj" exception handling, while the i686-pc version uses "dw2" exception handling. > One is for 32-bit the other for 64-bit, but the 64-bit is supposed to be > capable of producing both kind of binaries, I don't use it so I'm not > sure if they reached that objective. This is completely wrong. -- Chuck -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple