how can I create faces from a mesh that has gaps? without creating overlapping faces?
You will have to create more edges between the inner squares and outer square.For the faces to be constructed between.  This is one possible way of doing it, although not the only way and not optimal.