hi again,

thanks for the clarification. i patched the file (patch attached) and the original errors are gone, but now i get these:

mainwindow.cpp: In constructor ‘PropDialog::PropDialog()’:
mainwindow.cpp:2769:11: error: ‘class Table’ has no member named ‘set_margin’; did you mean ‘set_halign’?
     table.set_margin(5);
           ^~~~~~~~~~
           set_halign
mainwindow.cpp:2777:15: error: ‘HButtonBox’ {aka ‘class Gtk::HButtonBox’} has no member named ‘set_margin’; did you mean ‘set_halign’?
     buttonBox.set_margin(5);
               ^~~~~~~~~~
               set_halign
mainwindow.cpp: In constructor ‘InstrumentProps::InstrumentProps()’:
mainwindow.cpp:2929:11: error: ‘class Table’ has no member named ‘set_margin’; did you mean ‘set_halign’?
     table.set_margin(5);
           ^~~~~~~~~~
           set_halign
mainwindow.cpp:2938:15: error: ‘HButtonBox’ {aka ‘class Gtk::HButtonBox’} has no member named ‘set_margin’; did you mean ‘set_halign’?
     buttonBox.set_margin(5);
               ^~~~~~~~~~
               set_halign
mainwindow.cpp: In member function ‘void MainWindow::select_instrument(gig::Instrument*)’: mainwindow.cpp:3457:49: error: ‘Gtk::TreeNodeChildren::value_type’ {aka ‘class Gtk::TreeRow’} has no member named ‘get_iter’; did you mean ‘get_stamp’?
             auto iterSel = model->children()[i].get_iter();
                                                 ^~~~~~~~
                                                 get_stamp
mainwindow.cpp: In member function ‘bool MainWindow::select_dimension_region(gig::DimensionRegion*)’: mainwindow.cpp:3487:49: error: ‘Gtk::TreeNodeChildren::value_type’ {aka ‘class Gtk::TreeRow’} has no member named ‘get_iter’; did you mean ‘get_stamp’?
             auto iterSel = model->children()[i].get_iter();
                                                 ^~~~~~~~
                                                 get_stamp
mainwindow.cpp: In member function ‘void MainWindow::select_sample(gig::Sample*)’: mainwindow.cpp:3523:55: error: ‘Gtk::TreeNodeChildren::value_type’ {aka ‘class Gtk::TreeRow’} has no member named ‘get_iter’; did you mean ‘get_stamp’?
                 auto iterSel = rowGroup.children()[s].get_iter();
                                                       ^~~~~~~~
                                                       get_stamp

what else i might do to make it compile? :-) i have no idea about the cause as i know nothing about gtk :-)

miroslav


Dne 2019-01-01 16:47, Christian Schoenebeck napsal:
On Tuesday, 1. Januar 2019 13:24:31 CET Miroslav Šulc wrote:
hi guys,

happy new year! :-)

Hi and happy new year everyone!

yesterday i found some time to find out why svn gigedit does not compile
on my gentoo linux system anymore. i have found that it compiles fine
with gtkmm-3.22.2 but it fails with gtkmm-3.24.0. it begins with the
following errors and some more follow:

Actually we put a lot of work so that gigedit compiles with a huge span of gtk
versions, ranging from ancient gtk 2.x up to latest gtk 4.x development
version.

The problem with 2.24.x seems, which I just realized, that the Gtk team have changed their general release policy couple months ago. Originally the last official release of the gtk 3.x branch was announced to be 3.22.x, everything
higher was supposed to be development versions for upcoming gtk 4:

https://blog.gtk.org/2018/06/23/a-gtk-3-update/

So current gigedit code assumes 3.24.x to be already Gtk 4 API and different major Gtk API versions (unlike with Qt) are in general completely incompatible
with each other.

I currently don't have gtk 2.24.x installed here, but it should be relatively easy to fix. All the gtk version (in)compatiblity issues are handled in source file src/gigedit/compat.h. You find a bunch of gtk version checks there, reach
out for ones that look like this:

GTK_MAJOR_VERSION == 3 && GTKMM_MINOR_VERSION > 22

and change them accordingly to

GTK_MAJOR_VERSION == 3 && GTKMM_MINOR_VERSION > 24

If you got it working there, do others a favour and send us your patch please!

CU
Christian


_______________________________________________
Linuxsampler-devel mailing list
Linuxsampler-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxsampler-devel
diff --git a/src/gigedit/compat.h b/src/gigedit/compat.h
index 5d34a49..cfb99f2 100644
--- a/src/gigedit/compat.h
+++ b/src/gigedit/compat.h
@@ -61,7 +61,7 @@
 // Gtk::UIManager had been replaced by Gtk::Builder in GTKMM 3 and removed in GTKMM 4
 // Gtk::ActionGroup had been replaced by Gio::ActionGroup in GTKMM 3 and removed in GTKMM 4
 #if !defined(USE_GTKMM_BUILDER) || !defined(USE_GLIB_ACTION) // gtkmm > 3.22 :
-# if GTKMM_MAJOR_VERSION > 3 || (GTKMM_MAJOR_VERSION == 3 && GTKMM_MINOR_VERSION > 22)
+# if GTKMM_MAJOR_VERSION > 3 || (GTKMM_MAJOR_VERSION == 3 && GTKMM_MINOR_VERSION > 24)
 #  define USE_GTKMM_BUILDER 1
 #  define USE_GLIB_ACTION 1
 # else
@@ -79,7 +79,7 @@
 #endif
 
 #ifndef HAS_GTKMM_CPP11_ENUMS // gtkmm > 3.22
-# if GTKMM_MAJOR_VERSION > 3 || (GTKMM_MAJOR_VERSION == 3 && GTKMM_MINOR_VERSION > 22)
+# if GTKMM_MAJOR_VERSION > 3 || (GTKMM_MAJOR_VERSION == 3 && GTKMM_MINOR_VERSION > 24)
 #  define HAS_GTKMM_CPP11_ENUMS 1
 # else
 #  define HAS_GTKMM_CPP11_ENUMS 0
@@ -88,7 +88,7 @@
 
 // alignment.h had been removed in GTKMM 4
 #ifndef HAS_GTKMM_ALIGNMENT // gtkmm > 3.22 :
-# if GTKMM_MAJOR_VERSION > 3 || (GTKMM_MAJOR_VERSION == 3 && GTKMM_MINOR_VERSION > 22)
+# if GTKMM_MAJOR_VERSION > 3 || (GTKMM_MAJOR_VERSION == 3 && GTKMM_MINOR_VERSION > 24)
 #  define HAS_GTKMM_ALIGNMENT 0
 # else
 #  define HAS_GTKMM_ALIGNMENT 1
@@ -99,7 +99,7 @@
 // stock.h had been removed in GTKMM 4
 // Gtk::VBox, Gtk::HBox and Gtk::HButtonBox had been replaced by Gtk::Box in GTKMM 3 and removed in GTKMM 4
 #if !defined(USE_GTKMM_GRID) || !defined(HAS_GTKMM_STOCK) || !defined(USE_GTKMM_BOX) || !defined(USE_GTKMM_PANED) // gtkmm > 3.22 :
-# if GTKMM_MAJOR_VERSION > 3 || (GTKMM_MAJOR_VERSION == 3 && GTKMM_MINOR_VERSION > 22)
+# if GTKMM_MAJOR_VERSION > 3 || (GTKMM_MAJOR_VERSION == 3 && GTKMM_MINOR_VERSION > 24)
 #  define USE_GTKMM_GRID 1
 #  define HAS_GTKMM_STOCK 0
 #  define USE_GTKMM_BOX 1
_______________________________________________
Linuxsampler-devel mailing list
Linuxsampler-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxsampler-devel

Reply via email to