以下のソースでエラーが出ます。原因に心当たりがある方がいましたらご教授ください。よろしくお願いします。
C++
1#include <gtkmm.h> 2 3class MyDrawArea : public Gtk::DrawingArea { 4 Glib::RefPtr< Gdk::GC > m_gc; 5 Glib::RefPtr< Gdk::Pixbuf > m_pixbuf; 6 7 public: 8 MyDrawArea(); 9 10 protected: 11 virtual void on_realize(); 12 virtual bool on_expose_event( GdkEventExpose* e ); 13}; 14 15MyDrawArea::MyDrawArea(){ 16 try { 17 m_pixbuf = Gdk::Pixbuf::create_from_file( PNGFILE ); 18 } 19 catch(...){ 20 Glib::exception_handlers_invoke(); 21 exit(1); 22 } 23} 24 25void MyDrawArea::on_realize(){ 26 Gtk::DrawingArea::on_realize(); 27 28 m_gc = Gdk::GC::create( get_window() ); 29} 30 31bool MyDrawArea::on_expose_event( GdkEventExpose* event ){ 32 int width = m_pixbuf->get_width(); 33 int height = m_pixbuf->get_height(); 34 35 get_window()->draw_pixbuf( 36 m_gc, m_pixbuf, 0, 0, 0, 0, 37 width, height, Gdk::RGB_DITHER_NONE, 0, 0 ); 38 return true; 39} 40 41class MainWin : public Gtk::Window{ 42 MyDrawArea m_drawarea; 43 44 public: 45 MainWin(){ 46 add( m_drawarea ); 47 show_all_children(); 48 } 49}; 50 51 52int main( int argc, char** argv ){ 53 Gtk::Main kit( argc, argv ); 54 MainWin mainwin; 55 Gtk::Main::run( mainwin ); 56 57 return 0; 58} 59~
エラー
error
1g++ `pkg-config gtkmm-3.0 --cflags --libs` 2main.cxx:6:16: error: ‘GC’ is not a member of ‘Gdk’ 3 Glib::RefPtr< Gdk::GC > m_gc; 4 ^ 5main.cxx:6:16: error: ‘GC’ is not a member of ‘Gdk’ 6main.cxx:6:24: error: template argument 1 is invalid 7 Glib::RefPtr< Gdk::GC > m_gc; 8 ^ 9main.cxx: In member function ‘virtual void MyDrawArea::on_realize()’: 10main.cxx:32:14: error: ‘Gdk::GC’ has not been declared 11 m_gc = Gdk::GC::create( get_window() ); 12 ^ 13main.cxx: In member function ‘virtual bool MyDrawArea::on_expose_event(GdkEventExpose*)’: 14main.cxx:40:16: error: ‘class Gdk::Window’ has no member named ‘draw_pixbuf’ 15 get_window()->draw_pixbuf( 16 ^ 17main.cxx:42:19: error: ‘RGB_DITHER_NONE’ is not a member of ‘Gdk’ 18 width, height, Gdk::RGB_DITHER_NONE, 0, 0 ); 19 ^ 20
環境:g++ gtkmm-3.0-dev導入済み
参考:http://www.hakodate-ct.ac.jp/~tokai/tokai/gtkmm/img/p4.htm
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。