GTKmm Hello World编译错误

时间:2013-01-30 05:57:54

标签: c++ compiler-errors gtkmm

所以我在c ++中制作一个基本的hello world应用程序,这里是代码

View.h

#ifndef VIEW_H
#define VIEW_H

#include <gtkmm/button.h>
#include <gtkmm/window.h>

class View : public Gtk::Window
{
    public:
        View();
        virtual ~View();

protected:
    //signal handlers
    void on_button_clicked();


    //Member Widgets
    Gtk::Button m_button;
}

#endif

View.cpp

#include "helloWorld.h"
#include <iostream>

View::View(): m_buton("Hello World")
{
set_border_width(10);

m_button.signal_clicked().connect(sigc::mem_fun(*this, &View::on_button_clicked));

add (m_button);

m_button.show();


}

View::~View()
{
}


void View::on_button_clicked()
{
        std::cout << "Hello World" << std::endl;
}

Main.cpp的

#include "View.h"
#include <gtkmm/main.h>

int main (int argc, char *argv[])
{
Gtk::Main kit(argc, argv);

View helloWorld;

Gtk::Main::run(helloWorld);

return 0;
}

最后是我的makefile

Out: Main.o View.o
    g++ -o Out Main.o View.o `pkg-config gtkmm-3.0 --cflags --libs`

Main.o: Main.cpp View.h
    g++ -c Main.cpp `pkg-config gtkmm-3.0 --cflags --libs`

View.o: View.cpp View.h
    g++ -c View.cpp `pkg-config gtkmm-3.0 --cflags --libs`

我安装了Gtkmm 3.0,并且已经四处寻找答案,我的错误是

g++ -c Main.cpp `pkg-config gtkmm-3.0 --cflags --libs`
In file included from /usr/include/glibmm-2.4/glibmm/optioncontext.h:27:0,
                 from /usr/include/gtkmm-3.0/gtkmm/main.h:36,
                 from Main.cpp:2:
/usr/include/glibmm-2.4/glibmm/optionentry.h:30:8: error: expected unqualified-id before string constant
make: *** [Main.o] Error 1

我该如何解决这个问题?它在我的主要方法的某个地方看起来触发了gtkmm代码的问题?我很困惑我的代码几乎就是我在网上找到的如何做到这一点我只是改变了HelloWorld类的名称来查看

1 个答案:

答案 0 :(得分:0)

您忘记了课程定义末尾的;