Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

MinGW "The procedure entry point libiconv could not be located ..."

Tags:

c

mingw

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:

enter image description here

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.

like image 290
Steve Avatar asked Aug 31 '11 19:08

Steve


2 Answers

Make sure you have C:\MinGW\bin in your path before any other directory that contains libiconv-2.dll. Apparently the as.exe in some MinGW distributions are dependent on that DLL, and having an older version of it in the path somewhere (for example GnuWin32 tools) will cause as.exe to 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.dll with 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.

like image 191
Michael Burr Avatar answered Oct 22 '22 06:10

Michael Burr


In addition to making sure C:\MinGW\bin is in your PATH before anything else, you should also restart your machine (or possibly log out/log in), to ensure your PATH is actually updated.

like image 44
9 revs, 2 users 100% Avatar answered Oct 22 '22 05:10

9 revs, 2 users 100%