2016-03-30 30 views
1

私はGtkmmブックから簡単な例をコンパイルしようとしています。私が使用していたコードはsimple.ccファイルGTKmmコンパイルエラーの簡単な例

#include <gtkmm.h> 
int main(int argc, char *argv[]) 
{ 
auto app = 
Gtk::Application::create(argc, argv, 
    "org.gtkmm.examples.base"); 

Gtk::Window window; 
window.set_default_size(200, 200); 

return app->run(window); 
} 

であり、私はそこから私は次のエラーを取得方法

g++ -o simple.o simple.cc `pkg-config gtkmm-3.0 --cflags --libs` 

次に、コマンドラインからそれをコンパイルしよう:

simple.cc: In function ‘int main(int, char**)’: 
simple.cc:5:8: error: ‘app’ does not name a type 
auto app = 
    ^
simple.cc:12:10: error: ‘app’ was not declared in this scope 
return app->run(window); 
    ^

私はLinux Mint 17.3を使用しており、gtkmm 3.10.1をインストールしています。

+1

「-std = C++ 11」 –

+0

@ marco-aを追加してください。私の問題を解決してくれてありがとうございます。 – Pajke

+0

ようこそ。私はそれを答えにします。 –

答えて

1

autoと控除を使用するには、C++ 11(またはそれ以上)を有効にする必要があります。

あなたのコンパイルコマンドラインに

-std=c++11 

を追加します。

1

C++ 11を使用しない場合は、アプリケーションのタイプも完全に指定できます。

Glib::RefPtr<Gtk::Application> app = 
    Gtk::Application::create(argc, argv, "org.gtkmm.examples.base");