Hola a todos:
Intento convertir una libreria .dll echa en Visual C++ 6.0 a una libreria .a que pueda linkar con el compilador gcc en cygwin.
Lo he intentado de dos formas
1))Sacado de "
www.cygwin.com/cygwin-ug-net/dll.html"
echo EXPORTS > foo.def
nm foo.dll | grep ' T _' | sed 's/.* T _//' >> foo.def
donde foo es el nombre de la libreria en cuestion
Aqui me sale el mensaje de error: "nm: foo.dll: no symbols" y según la página que lo he sacado eso es porque la dll "is stripped" (ni idea de que quiere decir esto). la siguiente instrucción sería:
dlltool --def foo.def --dllname foo.dll --output-lib foo.a
2))sacado de "
www.mingw.org/MinGWiki/index.php/MSVC-MinGW-DLL"
"The right way is to produce the DEF file using the pexports tool included in the mingw-utils package and filter off the first underscore by sed:"
pexports testdll.dll | sed "s/^_//" > testdll.def
Then, when using dlltool to produce the import library, add `-U' to the command line:
dlltool -U -d testdll.def -l libtestdll.a
And now, you can proceed in the usual way:
gcc -o testmain testmain.c -L. -ltestdll
Pero en testmain.c me da error al no reconocer la función que exporto con la .dll.
Es posible que sea por los guiones bajos que añade Visual C antes de las funciones??
Alguien ha hecho algo parecido y me puede aconsejar??
Muchas gracias