Я создал графический интерфейс с использованием дизайнера полов и инкапсулировал функциональность в классе. Вот определение класса, который я написал:Ошибки при компиляции gtk-программы с gtkmm
#ifndef _CLIPSWINDOW_H
#define _CLIPSWINDOW_H
#include <gtkmm.h>
class ClipsWindow : public Gtk::Window
{
public:
ClipsWindow(BaseObjectType * cobject, const Glib::RefPtr<Gtk::Builder> &refGlade);
~ClipsWindow();
protected:
Glib::RefPtr<Gtk::Builder> builder;
//MainWindow
Gtk::Window *main_window;
// Control buttons.
Gtk::Button *agenda_btn; // buttons to contain the control buttons in the GUI.
Gtk::Button *fact_btn;
Gtk::Button *run_btn;
Gtk::Button *reset_btn;
// Menu options.
//Gtk::MenuButton *options; // Get the options menu
Gtk::MenuItem *load_item; // Menu items for the "Options menu"
Gtk::MenuItem *save_item;
Gtk::MenuItem *change_strategy_item;
//Gtk::MenuButton *help;
Gtk::MenuItem *about_item; // Menu item for the "Help Menu"
// signal handlers for buttons.
void on_agendabtn_clicked();
void on_factbtn_clicked();
void on_runbtn_clicked();
void on_resetbtn_clicked();
// signal handlers for menu items.
void on_load_activate();
void on_StrategyOption_activate();
void on_SaveOption_activate();
void AboutItem_activate_cb();
};
#endif
Основная функция выглядит следующим образом:
Gtk::Main kit(argc,argv);
//auto app = Gtk::Application::create(argc, argv, "clipsgui.clemson.edu");
Glib::RefPtr<Gtk::Builder> builder = Gtk::Builder::create_from_file("clipswindow.glade");
ClipsWindow *cw = 0;
builder->get_widget_derived("main_window", cw);
kit.run(*cw);
Я позаботилась, чтобы передать основной CObject к конструктору Gtk::Window
. Когда я пытаюсь скомпилировать эту программу, используя команду g++ main_app.cpp -o main
pkg-config --cflags --libs gtkmm-3.0``, я либо получаю файл .pthread
, либо при попытке скомпилировать файлы по отдельности ошибка `gtkmm no такой файл или каталог , Тем не менее, я проверил gtkmm, создав небольшую программу драйверов, и она компилируется просто отлично. Любая идея, что я могу делать неправильно?
Спасибо.
EDIT: here - это мой рефит github проекта. Когда я построю , возникает небольшая ошибка, но ошибка по-прежнему сохраняется.
Поскольку я не могу воспроизвести ваши ошибки. Неполный код, и неизвестно, как вы действительно компилируете свой код. Можно было бы только догадаться, и при угадывании проверьте свои варианты на g ++. –
Я добавил github repo для своего кода. Пожалуйста, взгляните на него? И как вы компилируете программу? –