我正在尝试从Gtkmm书中编译简单的例子。我正在使用的代码是在simple.cc文件中
#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。
答案 0 :(得分:1)
您需要启用C ++ 11(或更高版本)才能使用auto
并输入扣除。
添加
-std=c++11
到您的编译命令行。
答案 1 :(得分:1)
如果您不想使用C ++ 11,您也可以完全指定应用的类型。
Glib::RefPtr<Gtk::Application> app =
Gtk::Application::create(argc, argv, "org.gtkmm.examples.base");