我在ubuntu 12.04中安装了libgtkmm-3.0-dev,我尝试用c++和gtkmm 3学习和编写程序
我转到此链接“http://developer.gnome.org/gtkmm-tutorial/unstable/sec-basics-simple-example.html.en”,并尝试编译简单的示例程序:

#include <gtkmm.h>

int main(int argc, char *argv[])
{
  Glib::RefPtr<Gtk::Application> app =
    Gtk::Application::create(argc, argv,
      "org.gtkmm.examples.base");

  Gtk::ApplicationWindow window;

  return app->run(window);
}

我的文件名为“basic.cc”,我打开终端并输入以下命令进行编译:
g++ basic.cc -o basic `pkg-config gtkmm-3.0 --cflags --libs`

编译完成,没有任何错误,但是当我尝试在终端中运行类型为./basic的程序时,出现以下错误:
~$ ./simple
./simple: symbol lookup error: ./simple: undefined symbol:_ZN3Gtk11Application6createERiRPPcRKN4Glib7ustringEN3Gio16ApplicationFlagsE
~$

我怎么解决这个问题 ?

我可以使用以下命令压缩任何gtkmm 2.4代码:“g++ basic.cc -o basic pkg-config gtkmm-3.0 --cflags --libs
和以下命令:“g++ basic.cc -o basic pkg-config gtkmm-2.4 --cflags --libs

谢谢

最佳答案

我认为您遇到了这个gtkmm错误,显然是由更新版本的GTK +触发的,现已修复:
https://bugzilla.gnome.org/show_bug.cgi?id=681323

我已经要求Ubuntu更新其软件包,但是如果他们这样做的话,他们通常对此很慢:
https://bugs.launchpad.net/ubuntu/+source/gtkmm3.0/+bug/1046469

关于c++ - ubuntu 12.04中的gtkmm 3错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11076059/

10-13 06:53