2014-10-27 40 views
0

嗨,我試圖編譯inkscpae但它需要gtkmm的, 於是我下載了它,並試圖編譯它,但我得到這個錯誤無法編譯gtkmm的-3.10.1

的./configure --prefix = $ HOME/Local/gtkm CPPFLAGS =「 - I $ HOME/Local/gc-7.4.2/include -I $ HOME/Local/gtkmm/include」LDFLAGS =「 - L $ HOME/Local/gcFiles/lib -L ​​$ HOME/Local/gtkmm/lib「

libtool: compile: g++ -DHAVE_CONFIG_H -I.. -I../.. -DG_LOG_DOMAIN=\"gdkmm\" -DGDKMM_BUILD=1 -pthread -pthread -I/home/users/oren.amsalem/Local/gtkmm/include/giomm-2.4 -I/home/users/oren.amsalem/Local/gtkmm/lib/giomm-2.4/include -I/home/users/oren.amsalem/Local/gtkmm/include/glibmm-2.4 -I/home/users/oren.amsalem/Local/gtkmm/lib/glibmm-2.4/include -I/usr/include/pangomm-1.4 -I/usr/lib64/pangomm-1.4/include -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/cairomm-1.0 -I/usr/lib64/cairomm-1.0/include -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libdrm -I/usr/include/sigc++-2.0 -I/usr/lib64/sigc++-2.0/include -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/home/users/oren.amsalem/Local/gc-7.4.2/include -I/home/users/oren.amsalem/Local/gtkmm/include -Wall -g -O2 -MT window.lo -MD -MP -MF .deps/window.Tpo -c window.cc -fPIC -DPIC -o .libs/window.o 
window.cc: In static member function 'static void Gdk::Window::constrain_size(const Geometry&, guint, int, int, int&, int&)': 
window.cc:950:117: error: invalid conversion from 'guint {aka unsigned int}' to 'GdkWindowHints' [-fpermissive] 
In file included from /usr/include/gtk-3.0/gdk/gdktestutils.h:26:0, 
       from /usr/include/gtk-3.0/gdk/gdk.h:55, 
       from ../gdkmm/color.h:36, 
       from ../gdkmm/dragcontext.h:30, 
       from ../gdkmm/window.h:31, 
       from window.cc:9: 
/usr/include/gtk-3.0/gdk/gdkwindow.h:1049:12: error: initializing argument 2 of 'void gdk_window_constrain_size(GdkGeometry*, GdkWindowHints, gint, gint, gint*, gint*)' [-fpermissive] 
Makefile:572: recipe for target 'window.lo' failed 
make[2]: *** [window.lo] Error 1 
make[2]: Leaving directory '/home/users/oren.amsalem/Local/gtkmm-3.10.1/gdk/gdkmm' 
Makefile:744: recipe for target 'all-recursive' failed 
make[1]: *** [all-recursive] Error 1 
make[1]: Leaving directory '/home/users/oren.amsalem/Local/gtkmm-3.10.1' 
Makefile:529: recipe for target 'all' failed 
make: *** [all] Error 2 

任何想法是什麼問題?

我沒有看到依賴性問題。

謝謝, Oren。

回答

0

我想你的GTK +版本比你的gtkmm版本更新或更舊。你似乎在使用gtkmm-3.10.1,所以你的GTK +版本應該是GTK + 3.10.something。如果您的GTK +更新,請嘗試使用相應的gtkmm版本。當然,如果這意味着您需要自己更新其他依賴關係,那麼這可能很困難 - 從源代碼構建始終是困難的。

GTK + C API的這些小的變化並不罕見,並且被C++編譯器更多地關注。但是我們保持gtkmm與GTK +同步。