Наиболее очевидная проблема:
#include <sys\types.h>
#include <sys\stat.h>
Visual Studio \
допускается как разделитель dir для Windows, но не для gcc в Linux / Unix, где разделитель каталогов равен /
.
/
должно работать везде, хотя, поэтому я предлагаю изменить их.
Затем вы должны добавить ошибки компиляции, чтобы мы могли видеть, что / если проблемы остаются.