When compiling Objective-C with GNUstep/MinGW I get the following error:
The procedure entry point __printf__ could not be located in the dynamic link library libintl-8.dll.
Windows 7/64-bit. File version on libintl-8.dll is 0.18.1.
Is the compiler using the right file?
Edit: here is the Exports table of the file at c:\MinGW\bin\libintl-8.dll
[Ordinal/Name Pointer] Table
[ 0] __printf__
[ 1] _get_output_format
[ 2] _nl_expand_alias
[ 3] _nl_explode_name
[ 4] _nl_find_domain
[ 5] _nl_find_msg
[ 6] _nl_language_preferences_default
[ 7] _nl_load_domain
... ...
On my system, I fixed this by reordering my system PATH
envvar so that c:\MinGW\bin
would show up before %GTK_BASEPATH%\bin
. That way, the correct libintl-8.dll
that as.exe
wanted would be found, even when GCC launches it from c:\MinGW\bin\mingw32\bin
instead of c:\MinGW\bin
. Otherwise, it would try to link against the one shipped with some GTK+ SDK which did not have all of the required symbols, I assume. Also, in my case, the dialog box complained that as.exe
was missing the symbol when really the libintl-8.dll
that the dynamic linker decided to try to use was at fault.
Too bad there aren’t more packages installable via mingw-get
that actually share shared objects instead of each SDK shipping its own installer along with its own incompatible variants of the DLLs…
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With