JARVIS-MoCap / JARVIS-AcquisitionTool

AcquisitionTool to record multi-camera recordings for the JARVIS 3D Markerless Pose Estimation Toolbox

Home Page:https://jarvis-mocap.github.io/jarvis-docs/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Error on 'qdbusmessage.h' when building under Ubuntu 20.04

nukbridge opened this issue · comments

commented

I tried several times with 'master' branch and 'v1.1' tag, but failed to build under my Ubuntu machine,

Errors occurred :

[ 97%] Building CXX object CMakeFiles/AcquisitionTool.dir/main.cpp.o
[ 98%] Building CXX object CMakeFiles/AcquisitionTool.dir/AcquisitionTool_autogen/E47P2AXCJR/qrc_darkstyle.cpp.o
In file included from /opt/spinnaker/include/SpinGenApi/Node.h:22,
from /opt/spinnaker/include/SpinGenApi/SpinnakerGenApi.h:21,
from /home/master_node/src/_Git/JARVIS-AcquisitionTool/src/flirconfigbackend.hpp:15,
from /home/master_node/src/_Git/JARVIS-AcquisitionTool/main.cpp:12:
/home/master_node/src/_Git/JARVIS-AcquisitionTool/libs/Qt/qt_install/include/QtDBus/qdbusmessage.h:76:74: error: expected ‘,’ or ‘...’ before ‘struct’
76 | static QDBusMessage createSignal(const QString &path, const QString &interface,
| ^~~~~~~~~
/home/master_node/src/_Git/JARVIS-AcquisitionTool/libs/Qt/qt_install/include/QtDBus/qdbusmessage.h:79:61: error: expected ‘,’ or ‘...’ before ‘struct’
79 | const QString &interface, const QString &name);
| ^~~~~~~~~
/home/master_node/src/_Git/JARVIS-AcquisitionTool/libs/Qt/qt_install/include/QtDBus/qdbusmessage.h:81:57: error: expected ‘,’ or ‘...’ before ‘struct’
81 | const QString &interface, const QString &method);
| ^~~~~~~~~
In file included from /home/master_node/src/_Git/JARVIS-AcquisitionTool/libs/Qt/qt_install/include/QtDBus/qdbusabstractinterface.h:49,
from /home/master_node/src/_Git/JARVIS-AcquisitionTool/libs/Qt/qt_install/include/QtDBus/QtDBus:6,
from /home/master_node/src/_Git/JARVIS-AcquisitionTool/libs/Qt/qt_install/include/QtGui/QtGuiDepends:4,
from /home/master_node/src/_Git/JARVIS-AcquisitionTool/libs/Qt/qt_install/include/QtGui/QtGui:3,
from /home/master_node/src/_Git/JARVIS-AcquisitionTool/libs/Qt/qt_install/include/QtCharts/QtChartsDepends:4,
from /home/master_node/src/_Git/JARVIS-AcquisitionTool/libs/Qt/qt_install/include/QtCharts/QtCharts:3,
from /home/master_node/src/_Git/JARVIS-AcquisitionTool/gui/acquisitionMode/latencychartview.hpp:17,
from /home/master_node/src/_Git/JARVIS-AcquisitionTool/gui/acquisitionMode/monitoringwindow.hpp:15,
from /home/master_node/src/_Git/JARVIS-AcquisitionTool/gui/acquisitionMode/acquisitionmode.hpp:18,
from /home/master_node/src/_Git/JARVIS-AcquisitionTool/gui/acquisitionMode/../mainwindow.hpp:13,
from /home/master_node/src/_Git/JARVIS-AcquisitionTool/main.cpp:14:
/home/master_node/src/_Git/JARVIS-AcquisitionTool/libs/Qt/qt_install/include/QtDBus/qdbusmessage.h:99:22: error: expected identifier before ‘(’ token
99 | QString interface() const;
| ^
/home/master_node/src/_Git/JARVIS-AcquisitionTool/libs/Qt/qt_install/include/QtDBus/qdbusmessage.h:99:23: error: expected unqualified-id before ‘)’ token
99 | QString interface() const;
| ^
make[2]: *** [CMakeFiles/AcquisitionTool.dir/build.make:120: CMakeFiles/AcquisitionTool.dir/main.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:201: CMakeFiles/AcquisitionTool.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

How can I fix this ?

  • My build environment:
  • OS : Ubuntu 20.04.5 LTS (kernel 5.15.0-67)
  • CMake version: 3.24.4

Thanks,

Hi,

This unfortunately is an issue with the version of the Qt library that we're currently using. The fix for it is to go into the `..../JARVIS-AcquisitionTool/libs/Qt/qt_install/include/QtDBus/qdbusmessage.h' file and change:

#if defined(Q_OS_WIN) && defined(interface)
#  undef interface
#endif

to

#  undef interface

I'm not sure what exactly the cause for this issue is, but this fix works for me.
I hope this helps and please let me know if you have any other issues!