>> 2) I then tried the compilation with : ' g++ helloworld.cpp -o helloworld -I"C:\gtk_win32\include\gtk-2.0" '
>> but the compiler still complaints of not finding some header files
That's because there are header files in other places, too, not just
include/gtk-2.0. It should not be hard to find where they are
manually, even if they are in many separate locations.
That said, there is a tool whose very purpose is making it easy to
automatically get the correct -I, -L and -l flags when building
software that uses some library: pkg-config. (And then data files are
included in the development packages of libraries for pkg-config to
use, so-called .pc files.)
Download pkg-config from http://www.gtk.org/download-windows.html and
unzip it in the same place where you have the GTK+ stack (apparently
for you C:\gtk_win32 ). Run the command:
pkg-config --cflags gtk+-2.0
It will print out bunch of options to pass to the compiler when
compiling. Then run:
pkg-config --libs gtk+-2.0
It will correspondingly print out the -L and -l options needed when linking.
Obviously, the idea is not that you type such commands manually and
copy/paste the output each time you compile your software. I will
leave it as an exercise to come up with how to automate this in
Makefiles or scripts.
P.S. Are you sure you understand fully the difference between C++ and
C? GTK+ by itself offers an API for use from the C language. Samples
of GTK+-using code you find are normally written in C, not C++.
Then, there are so-called bindings for various other programming
languages. For C++, the binding is called gtkmm. If you *really* want
to use C++, and use GTK+ in a C++-like way, please download gtkmm,
too, and look for gtkmm samples. (Sure, it is possible to use the base
C API of GTK+ also from C++, but it is kinda pointless in my opinion.)