PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : gtkmm und ein Speicherzugriffsfehler



Clerian
25-11-2005, 19:14
Hallo alle miteinander, ich hab ein Problem mit Gtkmm, und zwar erhalte ich selbst bei einfachsten Programmen einen Speicherzugriffsfehler, ein Beispiel:

main.cc:


#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:

#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:

#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....

Clerian
27-11-2005, 17:06
oops... Problem gefunden... ich hab vergessen main neu zu kompilieren... :o