Martin Storsjö wrote:

In the meantime, when you create your regular import library with an option like -Wl,--out-implib,libfoo.dll.a, add the option -Wl,--output-def,foo.def. After that, run "dlltool -d foo.def -l libfoo.dll.a". This recreates the import library in a form that works better with MS link.exe.

Thanks a lot.

Maybe I have to add '--kill-at' too?
These are my steps:
  gcc -o ../bin/liquid32.dll -shared -m32 \
      -static-libgcc \
      -Wl,--out-implib,../liquid32.dll.a \
      -Wl,--output-def,MinGW_obj32/liquid32.def \
      MinGW_obj32/libliquid.o
      ...

And:
  dlltool --input-def MinGW_obj32/liquid32.def --dllname liquid32.dll \
       --output-lib ../liquid32_imp.lib --kill-at --machine i386

But now I get tons of warnings from 'link.exe'.
Like:
  Loaded liquid32_imp.lib(dolms02750.o)
  module 'liquid32_imp.lib(dolms02750.o)' unsafe for SAFESEH image.

and lots of these:
  liquid32_imp.lib(dolms00002.o) :
  error LNK2001: unresolved external symbol __head____liquid32_imp_lib

What's these '__head____*' symbols?

For reference my dlltool has version
  (GNU Binutils) 2.36.1

--
--gv


_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to