Hello! I have upgraded my Jetson TX2 DevKit from Jetpack 4.4 to 4.5.1 and I am having a problem compiling my project, which uses Argus.
I have linked /usr/src/jetson_multimedia_api/argus/samples/utils
as a library, which I compile because this part of Argus is not compiled (P. S. Why are important Argus things in samples folder???)
Here’s the compilation log. I am compiling with GCC 9.3.0 and compiling in C++17. (Yes, I really need C++17)
[ 50%] Building CXX object utils/CMakeFiles/argussampleutils.dir/gtk/GuiElement.cpp.o
In file included from /usr/include/gtk-3.0/gtk/gtk.h:100,
from /usr/src/jetson_multimedia_api/argus/samples/utils/gtk/GuiElement.cpp:31:
/usr/include/gtk-3.0/gtk/gtkfilechooserbutton.h:66:8: warning: unnecessary parentheses in declaration of ‘__gtk_reserved1’ [-Wparentheses]
66 | void (*__gtk_reserved1);
| ^
/usr/include/gtk-3.0/gtk/gtkfilechooserbutton.h:67:8: warning: unnecessary parentheses in declaration of ‘__gtk_reserved2’ [-Wparentheses]
67 | void (*__gtk_reserved2);
| ^
/usr/include/gtk-3.0/gtk/gtkfilechooserbutton.h:68:8: warning: unnecessary parentheses in declaration of ‘__gtk_reserved3’ [-Wparentheses]
68 | void (*__gtk_reserved3);
| ^
/usr/include/gtk-3.0/gtk/gtkfilechooserbutton.h:69:8: warning: unnecessary parentheses in declaration of ‘__gtk_reserved4’ [-Wparentheses]
69 | void (*__gtk_reserved4);
| ^
In file included from /usr/include/gtk-3.0/gtk/gtk.h:271,
from /usr/src/jetson_multimedia_api/argus/samples/utils/gtk/GuiElement.cpp:31:
/usr/include/gtk-3.0/gtk/deprecated/gtkstatusicon.h:74:8: warning: unnecessary parentheses in declaration of ‘__gtk_reserved1’ [-Wparentheses]
74 | void (*__gtk_reserved1);
| ^
/usr/include/gtk-3.0/gtk/deprecated/gtkstatusicon.h:75:8: warning: unnecessary parentheses in declaration of ‘__gtk_reserved2’ [-Wparentheses]
75 | void (*__gtk_reserved2);
| ^
/usr/include/gtk-3.0/gtk/deprecated/gtkstatusicon.h:76:8: warning: unnecessary parentheses in declaration of ‘__gtk_reserved3’ [-Wparentheses]
76 | void (*__gtk_reserved3);
| ^
/usr/include/gtk-3.0/gtk/deprecated/gtkstatusicon.h:77:8: warning: unnecessary parentheses in declaration of ‘__gtk_reserved4’ [-Wparentheses]
77 | void (*__gtk_reserved4);
| ^
In file included from /usr/include/glib-2.0/gobject/gobject.h:28,
from /usr/include/glib-2.0/gobject/gbinding.h:29,
from /usr/include/glib-2.0/glib-object.h:23,
from /usr/include/glib-2.0/gio/gioenums.h:28,
from /usr/include/glib-2.0/gio/giotypes.h:28,
from /usr/include/glib-2.0/gio/gio.h:26,
from /usr/include/gtk-3.0/gdk/gdkapplaunchcontext.h:28,
from /usr/include/gtk-3.0/gdk/gdk.h:32,
from /usr/include/gtk-3.0/gtk/gtk.h:30,
from /usr/src/jetson_multimedia_api/argus/samples/utils/gtk/GuiElement.cpp:31:
/usr/src/jetson_multimedia_api/argus/samples/utils/gtk/GuiElement.cpp: In instantiation of ‘bool ArgusSamples::GuiElementValue<T>::initializeRange() [with VT = long unsigned int; T = Argus::Range<long unsigned int>]’:
/usr/src/jetson_multimedia_api/argus/samples/utils/gtk/GuiElement.cpp:1658:5: required from here
/usr/include/glib-2.0/gobject/gclosure.h:70:27: error: invalid use of member function ‘template<class VT> static void ArgusSamples::GuiElementValue<T>::onGuiElementChangedRange(GtkWidget*, gpointer) [with VT = VT; T = Argus::Range<long unsigned int>]’ (did you forget the ‘()’ ?)
70 | #define G_CALLBACK(f) ((GCallback) (f))
/usr/include/glib-2.0/gobject/gsignal.h:475:60: note: in definition of macro ‘g_signal_connect’
475 | g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, (GConnectFlags) 0)
| ^~~~~~~~~
/usr/src/jetson_multimedia_api/argus/samples/utils/gtk/GuiElement.cpp:1600:9: note: in expansion of macro ‘G_CALLBACK’
1600 | G_CALLBACK(GuiElementValue<T>::onGuiElementChangedRange<VT>), this);
| ^~~~~~~~~~
/usr/include/glib-2.0/gobject/gclosure.h:70:27: error: invalid use of member function ‘template<class VT> static void ArgusSamples::GuiElementValue<T>::onGuiElementChangedRange(GtkWidget*, gpointer) [with VT = VT; T = Argus::Range<long unsigned int>]’ (did you forget the ‘()’ ?)
70 | #define G_CALLBACK(f) ((GCallback) (f))
/usr/include/glib-2.0/gobject/gsignal.h:475:60: note: in definition of macro ‘g_signal_connect’
475 | g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, (GConnectFlags) 0)
| ^~~~~~~~~
/usr/src/jetson_multimedia_api/argus/samples/utils/gtk/GuiElement.cpp:1628:9: note: in expansion of macro ‘G_CALLBACK’
1628 | G_CALLBACK(GuiElementValue<T>::onGuiElementChangedRange<VT>), this);
| ^~~~~~~~~~
/usr/src/jetson_multimedia_api/argus/samples/utils/gtk/GuiElement.cpp: In instantiation of ‘bool ArgusSamples::GuiElementValue<T>::initializeRange() [with VT = float; T = Argus::Range<float>]’:
/usr/src/jetson_multimedia_api/argus/samples/utils/gtk/GuiElement.cpp:1676:5: required from here
/usr/include/glib-2.0/gobject/gclosure.h:70:27: error: invalid use of member function ‘template<class VT> static void ArgusSamples::GuiElementValue<T>::onGuiElementChangedRange(GtkWidget*, gpointer) [with VT = VT; T = Argus::Range<float>]’ (did you forget the ‘()’ ?)
70 | #define G_CALLBACK(f) ((GCallback) (f))
/usr/include/glib-2.0/gobject/gsignal.h:475:60: note: in definition of macro ‘g_signal_connect’
475 | g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, (GConnectFlags) 0)
| ^~~~~~~~~
/usr/src/jetson_multimedia_api/argus/samples/utils/gtk/GuiElement.cpp:1600:9: note: in expansion of macro ‘G_CALLBACK’
1600 | G_CALLBACK(GuiElementValue<T>::onGuiElementChangedRange<VT>), this);
| ^~~~~~~~~~
/usr/include/glib-2.0/gobject/gclosure.h:70:27: error: invalid use of member function ‘template<class VT> static void ArgusSamples::GuiElementValue<T>::onGuiElementChangedRange(GtkWidget*, gpointer) [with VT = VT; T = Argus::Range<float>]’ (did you forget the ‘()’ ?)
70 | #define G_CALLBACK(f) ((GCallback) (f))
/usr/include/glib-2.0/gobject/gsignal.h:475:60: note: in definition of macro ‘g_signal_connect’
475 | g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, (GConnectFlags) 0)
| ^~~~~~~~~
/usr/src/jetson_multimedia_api/argus/samples/utils/gtk/GuiElement.cpp:1628:9: note: in expansion of macro ‘G_CALLBACK’
1628 | G_CALLBACK(GuiElementValue<T>::onGuiElementChangedRange<VT>), this);
| ^~~~~~~~~~
/usr/src/jetson_multimedia_api/argus/samples/utils/gtk/GuiElement.cpp: In instantiation of ‘bool ArgusSamples::GuiElementValue<T>::initializeRange() [with VT = unsigned int; T = Argus::Range<unsigned int>]’:
/usr/src/jetson_multimedia_api/argus/samples/utils/gtk/GuiElement.cpp:1685:5: required from here
/usr/include/glib-2.0/gobject/gclosure.h:70:27: error: invalid use of member function ‘template<class VT> static void ArgusSamples::GuiElementValue<T>::onGuiElementChangedRange(GtkWidget*, gpointer) [with VT = VT; T = Argus::Range<unsigned int>]’ (did you forget the ‘()’ ?)
70 | #define G_CALLBACK(f) ((GCallback) (f))
/usr/include/glib-2.0/gobject/gsignal.h:475:60: note: in definition of macro ‘g_signal_connect’
475 | g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, (GConnectFlags) 0)
| ^~~~~~~~~
/usr/src/jetson_multimedia_api/argus/samples/utils/gtk/GuiElement.cpp:1600:9: note: in expansion of macro ‘G_CALLBACK’
1600 | G_CALLBACK(GuiElementValue<T>::onGuiElementChangedRange<VT>), this);
| ^~~~~~~~~~
/usr/include/glib-2.0/gobject/gclosure.h:70:27: error: invalid use of member function ‘template<class VT> static void ArgusSamples::GuiElementValue<T>::onGuiElementChangedRange(GtkWidget*, gpointer) [with VT = VT; T = Argus::Range<unsigned int>]’ (did you forget the ‘()’ ?)
70 | #define G_CALLBACK(f) ((GCallback) (f))
/usr/include/glib-2.0/gobject/gsignal.h:475:60: note: in definition of macro ‘g_signal_connect’
475 | g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, (GConnectFlags) 0)
| ^~~~~~~~~
/usr/src/jetson_multimedia_api/argus/samples/utils/gtk/GuiElement.cpp:1628:9: note: in expansion of macro ‘G_CALLBACK’
1628 | G_CALLBACK(GuiElementValue<T>::onGuiElementChangedRange<VT>), this);
| ^~~~~~~~~~
utils/CMakeFiles/argussampleutils.dir/build.make:302: recipe for target 'utils/CMakeFiles/argussampleutils.dir/gtk/GuiElement.cpp.o' failed
make[2]: *** [utils/CMakeFiles/argussampleutils.dir/gtk/GuiElement.cpp.o] Error 1
CMakeFiles/Makefile2:238: recipe for target 'utils/CMakeFiles/argussampleutils.dir/all' failed
make[1]: *** [utils/CMakeFiles/argussampleutils.dir/all] Error 2
Makefile:151: recipe for target 'all' failed
make: *** [all] Error 2