Ok, I'm a bit embarassed to even ask this, but here goes:
I have a program with one main.cpp file, and a class contained in Foo.h and Foo.cpp. Foo.h contains the declaration of the class. Foo.cpp contains #include "Foo.h", and the implementation of the functions in that class. However, when I #include "Foo.h" in the main.cpp file, the compiler can't find the implementation of the functions. However, this approach works fine whenever I do it in my IDE(XCode), it's only when I use notepad and terminal that this problem arises.
I've been wondering for some time how the compiler knows which .cpp-file accompanies a .h-file, so if someone out there could bear with me and explain to me what I'm doing wrong, it would be greatly appreciated;)
No. Windows is definitely the worst platform I've ever developed on. MacOS directory structure is similar to Linux's which I think helps but the fact that it's a controlled and proprietary OS is another. It's probably a little bit more friendly than Linux some times.
@Computerquip: Okay. Good point, I has only developed on Mac and GNU/Linux with GTK+. I took a look at the documentation on Windows' API and... @_@
Though I did mean programming programs like smultron. I just can't stand Objective-C for some reason, and it's better to use than than C for the Cocoa APIs.
Also, I wasn't bashing GCC, and I don't think anyone here was. It's an excellent set of compilers, just not always straight forward and some have problems with that.