Mmm. Tu código funciona para mí. Verifique sus rutas de inclusión, ¿tal vez? Aunque este es un encabezado del sistema, debería ser bastante difícil pasarlo por alto. ¿O compilaste accidentalmente una versión que no tenía el #include <ftw.h>
línea?
$ gcc -o ftw ftw.c
$ ./ftw my-directory
File 10
File 11
File 16
File 16
File 16
File 16
File 16
... etc ...
editar :La prueba anterior se realizó en Mac OS X. En un comentario (ahora eliminado), el OP mencionó que estaba en Debian, para lo cual la página del manual menciona que #define _XOPEN_SOURCE 500
es necesario, como apunta Juliano.
Linux, por alguna razón, todavía usa SUSv1 para esta API, donde nftw() todavía se considera una extensión.
Desde la página del manual de Linux, la inclusión debe ser:
#define _XOPEN_SOURCE 500
#include <ftw.h>