title: issues with compiling Hello world program using gtkmm
body: <p>I am new to C++ and to gtkmm.  I am currently trying to compile a tutorial I found online using a window and a button.  I am compiling in Ubuntu 12.04.  I can compile a single file fine but when I try to compile several files using a Makefile I get an error that I don't understand:</p>
  
  <pre><code>sarah@superawesome:~/gtkexample$ make
  g++ -c main.cc
  In file included from HelloSarah.h:4:0,
                   from main.cc:1:
  /usr/include/gtkmm-3.0/gtkmm/button.h:7:28: fatal error: glibmm/ustring.h: No such file or directory
  compilation terminated.
  make: *** [main.o] Error 1
  </code></pre>
  
  <p>I really don't understand the error, I've been searching for hours.  I would really appreciate any help or insight into my problem.</p>
  
  <p>These are my 3 files and Makefile:</p>
  
  <pre><code>#ifndef GTKMM_HELLOSARAH_H
  #define GTKMM_HELLOSARAH_H
  
  #include &lt;gtkmm-3.0/gtkmm/button.h&gt;
  #include &lt;gtkmm/window.h&gt;
  
  class HelloSarah : public Gtk::Window
  {
  
  public:
    HelloSarah();
    virtual ~HelloSarah();
  
  protected:
    //Signal handlers:
    void on_button_clicked();
  
    //Member widgets:
    Gtk::Button m_button;
  };
  
  #endif 
  </code></pre>
  
  <p>and</p>
  
  <p>main.cc</p>
  
  <pre><code>#include "HelloSarah.h"
  #include &lt;gtkmm/application.h&gt;
  
  int main (int argc, char *argv[])
  {
    Glib::RefPtr&lt;Gtk::Application&gt; app = Gtk::Application::create(argc, argv,     "org.gtkmm.example");
  
    HelloSarah hellosarah;
  
    //Shows the window and returns when it is closed.
    return app-&gt;run(hellosarah);
  }
  </code></pre>
  
  <p>and HelloSarah.cc</p>
  
  <pre><code>#include "helloSarah.h"
  #include &lt;iostream&gt;
  
  HelloSarah::HelloSarah()
  : m_button("Hello Sarah")   // creates a new button with label "HelloSarah".
  {
    // Sets the border width of the window.
    set_border_width(10);
  
    // When the button receives the "clicked" signal, it will call the
    // on_button_clicked() method defined below.
    m_button.signal_clicked().connect(sigc::mem_fun(*this,
            &amp;HelloSarah::on_button_clicked));
  
    // This packs the button into the Window (a container).
    add(m_button);
  
    // The final step is to display this newly created widget...
    m_button.show();
  }
  
  HelloSarah::~HelloSarah()
  {
  }
  
  void HelloSarah::on_button_clicked()
  {
    std::cout &lt;&lt; "Hello Sarah" &lt;&lt; std::endl;
  }
  </code></pre>
  
  <p>and finally my Makefile:</p>
  
  <pre><code>app:            main.o HelloSarah.o
                  g++ -o app main.o HelloSarah.o
  
  main.o:         main.cc HelloSarah.h
              g++ -c main.cc
  
  HelloSarah.o:   HelloSarah.cc HelloSarah.h
              g++ -c HelloSarah.cc
  
  clean:      
              rm -f *.o app
  </code></pre>