Hallo alle miteinander, ich hab ein Problem mit Gtkmm, und zwar erhalte ich selbst bei einfachsten Programmen einen Speicherzugriffsfehler, ein Beispiel:
main.cc:
Code:
#include <gtkmm.h>
#include "mainwindow.hh"
int main(int argc, char *argv[])
{
Gtk::Main kit(argc, argv);
UI::MainWindow window;
kit.run(window);
return 0;
}
mainwindow.hh:
Code:
#ifndef __MAIN_WINDOW_H__
#define __MAIN_WINDOW_H__
#include <gtkmm.h>
namespace UI {
class MainWindow : public Gtk::Window
{
public:
MainWindow();
virtual ~MainWindow();
protected:
Gtk::Frame frame1;
Gtk::Label label1;
};
}
#endif
mainwindow.cc:
Code:
#include "mainwindow.hh"
UI::MainWindow::MainWindow() :
frame1("test"),
label1("das ist ein test")
{
add(frame1);
frame1.add(label1);
show_all_children();
}
UI::MainWindow::~MainWindow()
{
}
dann mit g++ -c main.cc `pkg-config --cflags gtkmm-2.4` etc kompilieren und das ergebnis beim starten des Programm is dan folgendes:
gtkmm-ERROR **: file object.cc: line 106 (void Gtk::Object::_destroy_c_instance()): assertion failed: (GTK_IS_OBJECT(object))
aborting...
ein backtrace mit gdb ergibt das:
#0 0xb74cc027 in raise () from /lib/tls/libc.so.6
#1 0xb74cd747 in abort () from /lib/tls/libc.so.6
#2 0xb76d2c2d in g_logv () from /usr/lib/libglib-2.0.so.0
#3 0xb76d2c56 in g_log () from /usr/lib/libglib-2.0.so.0
#4 0xb76d2d41 in g_assert_warning () from /usr/lib/libglib-2.0.so.0
#5 0xb7e13463 in Gtk::Object::_destroy_c_instance ()
from /usr/lib/libgtkmm-2.4.so.1
#6 0xb7e1353e in Gtk::Object::~Object () from /usr/lib/libgtkmm-2.4.so.1
#7 0xb7e689e7 in Gtk::Widget::~Widget () from /usr/lib/libgtkmm-2.4.so.1
#8 0xb7dda970 in Gtk::Container::~Container () from /usr/lib/libgtkmm-2.4.so.1
#9 0xb7dbd520 in Gtk::Bin::~Bin () from /usr/lib/libgtkmm-2.4.so.1
#10 0xb7e78339 in Gtk::Window::~Window () from /usr/lib/libgtkmm-2.4.so.1
#11 0x0804c229 in UI::MainWindow::~MainWindow ()
#12 0x0804bbd5 in main ()
seltsam nicht... ich hab mich aber strict an das tutorial auf www.gtkmm.org gehalten...
mfg Clerian
edit: verdammt, ich bin grad draufgekommen, dass es ein unterforum für gtk etc gibt... Admin bitte verschieben....
Lesezeichen