我用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