Försöker skriva ett program med C++ och gtkmm, behöver hjälp
Postat: 24 mar 2008, 13:02
Hejsan.
Försöker skapa ett GUI baserat program via gtkmm. För detta använder jag gedit och terminalen. Fast jag får en del felmeddelanden när jag försöker kompilera programmet:
Och här är koden för main.cc:
Koden för mainWindow.cc:
Koden för mainWindow.h:
Jag vet inte vad problemet är. Är det någon som ser problemet? Hur får jag min kod att fungera?
Bästa hälsningar,
lord.
Koden kommer från följande tutorial:
http://www.gtkmm.org/docs/gtkmm-2.4/doc ... dgets.html
Försöker skapa ett GUI baserat program via gtkmm. För detta använder jag gedit och terminalen. Fast jag får en del felmeddelanden när jag försöker kompilera programmet:
Kod: Markera allt
mainWindow.cc:3: error: ‘MainWindow’ has not been declared
mainWindow.cc:3: error: ISO C++ forbids declaration of ‘MainWindow’ with no type
mainWindow.cc: In function ‘int MainWindow()’:
mainWindow.cc:6: error: ‘set_title’ was not declared in this scope
mainWindow.cc:7: error: ‘set_size_request’ was not declared in this scope
mainWindow.cc:10: error: ‘set_border_width’ was not declared in this scope
mainWindow.cc:12: error: ‘m_Frame’ was not declared in this scope
mainWindow.cc:12: error: ‘add’ was not declared in this scope
mainWindow.cc:23: error: ‘show_all_children’ was not declared in this scope
mainWindow.cc: At global scope:
mainWindow.cc:26: error: expected constructor, destructor, or type conversion before ‘::’ token
main.cc: In function ‘int main(int, char**)’:
main.cc:10: error: expected `;' before ‘win’
main.cc:10: warning: statement is a reference, not call, to function ‘MainWindow’
main.cc:11: error: ‘win’ was not declared in this scope
Kod: Markera allt
#include <gtkmm/main.h>
#include "mainWindow.h"
using namespace std;
int main(int argc, char *argv[])
{
Gtk::Main kit(argc, argv);
MainWindow win;
Gtk::Main::run( win );
return 0;
}
Kod: Markera allt
#include "mainWindow.h"
MainWindow::MainWindow()
{
/* Set some window properties */
set_title("Contact Explorer");
set_size_request(300, 300);
/* Sets the border width of the window. */
set_border_width(10);
add(m_Frame);
/* Set the frames label */
m_Frame.set_label("Container");
/* Align the label at the right of the frame */
//m_Frame.set_label_align(Gtk::ALIGN_RIGHT, Gtk::ALIGN_TOP);
/* Set the style of the frame */
m_Frame.set_shadow_type(Gtk::SHADOW_ETCHED_OUT);
show_all_children();
}
MainWindow::~MainWindow()
{
}
Kod: Markera allt
#ifndef MAINWINDOW
#define MAINWINDOW
#include <gtkmm.h>
#include "mainWindow.cc"
class MainWindow : public Gtk::Window
{
public:
MainWindow();
~MainWindow();
protected:
//Child widgets:
Gtk::Frame m_Frame;
};
#endif //MAINWINDOW
Bästa hälsningar,
lord.
Koden kommer från följande tutorial:
http://www.gtkmm.org/docs/gtkmm-2.4/doc ... dgets.html