I’ve got a standard C library that compiles just fine on Mac OS X using gcc.
I’ve examined the C compilers available for Windows, and choose MinGW for a couple reasons:
- MS’s tools don’t support C99
- Cygwin et. al. adds an extra level of complexity with the posix emulation that I don’t want
- Can’t get lcc-win32 to work
But, when I try to build my library, I’m getting this:

This stuff all seems very archaic, and there are practically no decent resources online that I can find.
Any help would be greatly appreciated.
Thanks.
EDIT:
It doesn’t matter what I’m trying to build. Even if I just make a single file with a function that adds two numbers. It crashes. Doesn’t seem to have anything to do with the source code or the options passed to gcc at all. I think this is a problem with my MinGW setup and not with my project.
Make sure you have C:\MinGW\bin in your path before any other directory that contains
libiconv-2.dll. Apparently theas.exein some MinGW distributions are dependent on that DLL, and having an older version of it in the path somewhere (for example GnuWin32 tools) will causeas.exeto pick up the older version that doesn’t have the entry point it’s looking for.See: http://sourceforge.net/tracker/index.php?func=detail&aid=3375870&group_id=200665&atid=974439
Note – you should be able to replace the older
libiconv-2.dllwith the newer one in\MinGW\bin– the naming of the DLL should mean that it’s backward compatible with the older one (ie., older software that isn’t dependent ont he newer exports should continue to work). However, I haven’t tested that so be sure to backup if you do decide to try replacing the conflicting DLL with the one from your MinGW installation.