Błąd nie może być w samym kodzie, bo jest trywialny:
#include <stdio.h>
#include <SDL2/SDL.h>
int main()
{
printf("Hello\n");
return 0;
}
W opcjach projektu też wszystko raczej gra (wszystko zrobione wg tego tutorialu: https://www.youtube.com/watch?v=QV6bOYbT_-I). Więc skąd się wzięło "cannot find -lSDL2_main" ?