Code: Select all
@ cdecl atexit(ptr) MSVCRT_atexit
@ cdecl puts(str) MSVCRT_puts
Code: Select all
winebuild --implib -o libwinecompat.a -E libwinecompat.spec
Code: Select all
/* atexit example */
#include <stdio.h> /* puts */
#include <stdlib.h> /* atexit */
void fnExit1 (void)
{
puts ("Exit function 1.");
}
void fnExit2 (void)
{
puts ("Exit function 2.");
}
int main ()
{
atexit (fnExit1);
atexit (fnExit2);
puts ("Main function.");
return 0;
}
...And compile with
Code: Select all
sudo mv /usr/i686-w64-mingw32/lib/libmsvcrt.a /usr/i686-w64-mingw32/lib/libmsvcrt.a.old
i686-w64-mingw32-gcc -nostdlib test.c -lmsvcrt -L. -lwinecompat
sudo mv /usr/i686-w64-mingw32/lib/libmsvcrt.a.old /usr/i686-w64-mingw32/lib/libmsvcrt.a
Code: Select all
undefined reference to `puts'
undefined reference to `atexit'