Простой пример:
Пишется текстовый файл (например hello.cc):
#include <iostream>
int main()
{
cout<<"Hello, world!"<<endl;
return 0;
}
Затем даётся команда
$ g++ -o hello hello.cc
Всё, можно запустить программу:
$ ./hello
Hello, world!
Можно ещё для пущей крутоты написать Makefile:
.PHONY: clean
hello: hello.o
$(CXX) -o $@ $^ #здесь первый символ - табуляция!
clean:
rm -f *.o hello #здесь первый символ - табуляция!
Затем:
$ make
g++ -o hello hello.cc
И вуаля! Команда make clean, кстати, удалит всё, что накомпиляли.
Вообще-то для программы из одного исходного файла даже Makefile писать не обязятельно. Можно просто дать команду make hello.
Полезно почитать info gcc, info make.