¿Cómo crear una biblioteca nativa de C ++ en Android?

Necesito escribir una biblioteca de enlaces dinámicos en C ++ que Java utiliza en Android. Según tengo, debería ser .so biblioteca, pero no sé cómo hacerlo. Intenté Cygwin, pero falla:

$ gcc 1.cpp

/usr/lib/gcc/i686-pc-cygwin/4.3.4/../../../../i686-pc-cygwin/bin/ld: no puede encontrar -luser32 collect2: ld devolvió 1 estado de salida

1.cpp:
int main(int, char**)
{
   return 0;
}

Alguien me puede ayudar con eso?

PD No soy bueno en * nix, por lo que debería hacerse mejor en Windows

UPD: Instalé Android NDK y Cygwin y los agregué a la variable de entorno PATH

UPD2: Gracias por ayudar. El problema fue con el propio Cygwin. Reinstalarlo y NDK resolvió el problema.

Respuestas a la pregunta(3)

Su respuesta a la pregunta