Ubuntu 12.04 中的 gtkmm 3 出错

error with gtkmm 3 in ubuntu 12.04

本文关键字:出错 gtkmm 中的 Ubuntu      更新时间:2023-10-16

我在 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 基本pkg-config gtkmm-3.0 --cflags --libs"和这个命令:"g++ basic.cc -o 基本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

您可能想尝试重新安装libgtkmm-3.0-dev。代码对我来说编译得很好,但我遇到了一个 Seg 错误。当我将Gtk::ApplicationWindow更改为Gtk::Window时,它确实有效。

您的安装没有任何问题。 该代码很糟糕。

再试一次,使用

Gtk::Window window;

而不是应用程序窗口。 当给定类的 GNOME 文档有"TODO"的描述时,这是一件坏事。