初始化

你必须初始化你的库,以便注册库提供给的新类型,这样你才能使用它。另外你所封装的C库可能有自己需要调用的初始化函数。你可以将其放在手动编码的init.hinit.cc文件中的init()函数中完成此操作。这个函数应该初始化你的依赖项和调用你生成的wrap_init()函数。例如:

void init()
{
  Gtk::init_gtkmm_internals(); //Sets up the g type system and the Glib::wrap() table.
  wrap_init(); //Tells the Glib::wrap() table about the libsomethingmm classes.
}

wrap_init.cc文件中的wrap_init()方法是由generate_wrap_init.pl生成的,但是它的声明所在的wrap_init.h文件需要手动编码。因此你需要调整wrap_init.h文件以使wrap_init()函数出现在正确的C++命名空间中。