Для меня это был XCode, так как у меня тот же проект, который прекрасно компилируется.
В моем файле Foo.h у меня был конструктор и деструктор, который реализован в файле .cpp. Но у меня также был другой класс, который был у меня в Foo.h, реализация которого была в Foo.h, а не в .cpp.
Поэтому мне пришлось добавить файл Foo.h в проект XCode -> Targets -> "TragetName" -> BuildSources, и эта проблема была решена.
Надеюсь, это поможет.