我用aptitude安装gtkmm的3在Ubuntu 13.04(我喜欢资质,因为它会记住安装什么,当你想删除它):编译器错误试图建立非常简单gtkmm的应用程序时:
sudo aptitude install libgtkmm-3.0-dev --with-recommends
使用codelite 5.1.2和默认的GTK +工具链,在我的编译器包含路径我说:
/usr/include/gtkmm-3.0 - 路径gtkmm.h
我试着用gtkmm的建立的第一个示例应用程序中编程:
#include <gtkmm.h>
int main (int argc, char *argv[])
{
Gtk::Main kit (argc, argv);
Gtk::Window window;
Gtk::Main::run (window);
return 0;
}
追逐错误从gtkmm.h未来几个“未找到包含文件”,其中包括了整个gtkmm的框架后,我的编译器包括路径现在看起来是这样的:
/usr/include/gtkmm-3.0
/usr/include/glibmm-2.4
/usr/lib/i386-linux-gnu/glibmm-2.4/include
/usr/include/glib-2.0
而且所有的地狱,从glib.h上脱落:
/bin/sh -c 'make -j 4 -e -f "Calendars_wsp.mk"' ----------Building project:[ CalendarsGUI - Debug ]---------- ........ /gtkmm-3.0 -I/usr/include/glibmm-2.4 -I/usr/lib/i386-linux-gnu/glibmm-2.4/include -I//usr/include/glib-2.0 In file included from //usr/include/glib-2.0/glib/gtypes.h:36:0, from //usr/include/glib-2.0/glib/galloca.h:34, from //usr/include/glib-2.0/glib.h:32, from /usr/include/glibmm-2.4/glibmm/thread.h:46, from /usr/include/glibmm-2.4/glibmm.h:87, from /usr/include/gtkmm-3.0/gtkmm.h:87, from main.cpp:16: ***//usr/include/glib-2.0/glib/gversionmacros.h:179:2: error: #error "GLIB_VERSION_MIN_REQUIRED must be >= GLIB_VERSION_2_26"*** In file included from //usr/include/glib-2.0/glib/galloca.h:34:0, from //usr/include/glib-2.0/glib.h:32, from /usr/include/glibmm-2.4/glibmm/thread.h:46, from /usr/include/glibmm-2.4/glibmm.h:87, from /usr/include/gtkmm-3.0/gtkmm.h:87, from main.cpp:16: ***//usr/include/glib-2.0/glib/gtypes.h:448:2: error: #error unknown ENDIAN type ....... make: *** [All] Error 2 2 errors, 2 warnings***
显然,我在这里失去了一些东西(我也想何时使用gtkmm的2.4有同样的问题)。我究竟做错了什么?我还需要做些什么来构建gtkmm项目?
此错误信息似乎很清楚对我来说:#error“GLIB_VERSION_MIN_REQUIRED必须> = GLIB_VERSION_2_26”,而且你似乎只安装了2.0版本的glib。 –
看起来你是对的 - 但我根据GTKMM网站上的说明安装了3.0,并且似乎有唯一版本的glib.h。 GTKMM文档确实说,安装的版本并不总是与他们发布的实际代码库同步。 – Vector
@JoachimPileborg - 似乎我并不孤单。在SE/AskUbuntu上有很多类似的问题。他们说Unity似乎跟gtkmm没有太大关系....顺便说一句,感谢编辑。 – Vector