Does SysTick_Handler() have to be in main file?
You can put it anywhere, as long as it has the right linkage spec the linker will take care of it for you.

You don't need any header included, just extern "C" void SysTick_Handler(){ ... } in an implementation file.