0

だから私はC++で基本的なHelloWorldアプリを作っていますここにコードがあります

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`

私はGtkmm3.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クラスの名前をViewに変更しただけです。

4

1 に答える 1

0

;クラス定義の最後にあるを忘れました。

于 2013-01-30T06:02:25.870 に答える