nevermind, i realised that i made a very obvious mistake and that is adding the object files after the library.
what i did:
gcc -Lpath/to/library -lglfw3 -lopengl32 -letc... main.o
what i should have done:
gcc -Lpath/to/library main.o -lglfw3 -lopengl32 -letc...