Mail Archives: cygwin/2000/07/28/12:50:17
> For me, step 2 fails with "dlltool: Can't open def file: libt.def".
>
> Was step 1 supposed to produce this file? It didn't give an error. It
> didn't even give a non-zero exit value.
Sorry, I was being stupid. It seems to work now. For the benefit of
anyone else, here's what I did.
To make a library out of t.c and link p.c with it:
$ gcc -c t.c
$ echo -e "EXPORTS\nfoo" > libt.def
$ gcc -s -Wl,--base-file,libt.base -o libt.dll t.o -Wl,-e,_libt_init AT 12
$ dlltool --base-file libt.base --def libt.def --output-exp libt.exp --dllname libt.dll
$ gcc -s -Wl,--base-file,libt.base,libt.exp -o libt.dll t.o -Wl,-e,_libt_init AT 12
$ dlltool --base-file libt.base --def libt.def --output-exp libt.exp --dllname libt.dll
$ gcc -Wl,libt.exp -o libt.dll t.o -Wl,-e,_libt_init AT 12
$ dlltool --def libt.def --dllname libt.dll --output-lib libt.a
$ gcc -c p.c
$ gcc -o p p.o libt.a
Apart from the function foo, t.c also contains the following:
__declspec(dllexport) int foo(int);
#include <windows.h>
int WINAPI libt_init(HANDLE h, DWORD reason, void *q)
{
return 1;
}
int main()
{
return 0;
}
Now to try building a real DLL out of source code in Prolog ...
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com
- Raw text -