Hi all!

For an OpenCV project I am using an OAK-D-PoE camera, as substitution for an Intel RealSense D435.
The program is to be executed by an industrialised Nvidia Jetson AGX Xavier (Neousys NRU-120S), with PoE+ ports.

When I got the camera, I installed the python depthai library and ran the demo script, which worked. Though our project is coded in c++, so we need the depthai-core library.
So, I installed the library following the github repo: https://github.com/luxonis/depthai-core, and integrating the library to our c++ project in eclipse.

When I linked the depthai header file using #include "depthai/depthai.hpp" and tried to build the project I get 85 errors in the following file: /usr/local/include/depthai-shared/device/BoardConfig.hpp.
The errors are the following:

In file included from /usr/local/include/depthai/device/DeviceBase.hpp:30:0,
from /usr/local/include/depthai/device/Device.hpp:14,
from /usr/local/include/depthai/depthai.hpp:10,
from Project_Malum.cpp:20:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:36:58: error: expected identifier before ‘=’ token
enum Direction : std::int8_t { INPUT = 0, OUTPUT = 1 };
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:36:58: error: expected ‘}’ before ‘=’ token
/usr/local/include/depthai-shared/device/BoardConfig.hpp:36:58: error: expected unqualified-id before ‘=’ token
/usr/local/include/depthai-shared/device/BoardConfig.hpp:37:9: error: ‘Direction’ does not name a type; did you mean ‘Detector’?
Direction direction = Direction::INPUT;
~~~
Detector
/usr/local/include/depthai-shared/device/BoardConfig.hpp:46:14: error: expected unqualified-id before ‘)’ token
GPIO() = default;
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:47:24: error: expected ‘)’ before ‘direction’
GPIO(Direction direction) : direction(direction) {}
~~~
/usr/local/include/depthai-shared/device/BoardConfig.hpp:48:24: error: expected ‘)’ before ‘direction’
GPIO(Direction direction, Level level) : direction(direction), level(level) {}
~~~
/usr/local/include/depthai-shared/device/BoardConfig.hpp:49:24: error: expected ‘)’ before ‘direction’
GPIO(Direction direction, Level level, Pull pull) : direction(direction), level(level), pull(pull) {}
~~~
/usr/local/include/depthai-shared/device/BoardConfig.hpp:50:24: error: expected ‘)’ before ‘direction’
GPIO(Direction direction, Mode mode) : mode(mode), direction(direction) {}
~~~
/usr/local/include/depthai-shared/device/BoardConfig.hpp:51:24: error: expected ‘)’ before ‘direction’
GPIO(Direction direction, Mode mode, Pull pull) : mode(mode), direction(direction), pull(pull) {}
~~~
/usr/local/include/depthai-shared/device/BoardConfig.hpp:53:37: error: ‘GPIO’ was not declared in this scope
std::unordered_map<std::int8_t, GPIO> gpio;
~
/usr/local/include/depthai-shared/device/BoardConfig.hpp:53:37: note: suggested alternative: ‘EIO’
std::unordered_map<std::int8_t, GPIO> gpio;
~~
EIO
/usr/local/include/depthai-shared/device/BoardConfig.hpp:53:41: error: template argument 2 is invalid
std::unordered_map<std::int8_t, GPIO> gpio;
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:53:41: error: template argument 5 is invalid
In file included from /usr/local/include/depthai-shared/common/Point3f.hpp:7:0,
from /usr/local/include/depthai-shared/common/Extrinsics.hpp:6,
from /usr/local/include/depthai-shared/common/CameraInfo.hpp:4,
from /usr/local/include/depthai-shared/common/EepromData.hpp:7,
from /usr/local/include/depthai/device/CalibrationHandler.hpp:6,
from /usr/local/include/depthai/depthai.hpp:9,
from Project_Malum.cpp:20:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:67:1: error: ‘BoardConfig’ does not name a type
DEPTHAI_SERIALIZE_EXT(BoardConfig::USB, vid, pid, flashBootedVid, flashBootedPid, maxSpeed);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:67:1: error: expected unqualified-id before ‘&’ token
DEPTHAI_SERIALIZE_EXT(BoardConfig::USB, vid, pid, flashBootedVid, flashBootedPid, maxSpeed);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:67:1: error: expected ‘)’ before ‘&’ token
/usr/local/include/depthai-shared/device/BoardConfig.hpp:67:1: error: expected initializer before ‘nlohmann_json_t’
DEPTHAI_SERIALIZE_EXT(BoardConfig::USB, vid, pid, flashBootedVid, flashBootedPid, maxSpeed);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:67:1: error: ‘BoardConfig’ has not been declared
DEPTHAI_SERIALIZE_EXT(BoardConfig::USB, vid, pid, flashBootedVid, flashBootedPid, maxSpeed);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:67:1: error: expected ‘,’ or ‘...’ before ‘&’ token
DEPTHAI_SERIALIZE_EXT(BoardConfig::USB, vid, pid, flashBootedVid, flashBootedPid, maxSpeed);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp: In function ‘void from_json(const json&, int)’:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:67:1: error: ‘nlohmann_json_t’ was not declared in this scope
DEPTHAI_SERIALIZE_EXT(BoardConfig::USB, vid, pid, flashBootedVid, flashBootedPid, maxSpeed);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:67:1: note: suggested alternative: ‘nlohmann_json_j’
/usr/local/include/depthai-shared/device/BoardConfig.hpp: At global scope:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:67:1: error: ‘BoardConfig’ was not declared in this scope
DEPTHAI_SERIALIZE_EXT(BoardConfig::USB, vid, pid, flashBootedVid, flashBootedPid, maxSpeed);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:67:1: note: suggested alternative:
In file included from /usr/local/include/depthai/device/DeviceBase.hpp:30:0,
from /usr/local/include/depthai/device/Device.hpp:14,
from /usr/local/include/depthai/depthai.hpp:10,
from Project_Malum.cpp:20:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:18:8: note: ‘dai::BoardConfig’
struct BoardConfig {
~~~~~
In file included from /usr/local/include/depthai-shared/common/Point3f.hpp:7:0,
from /usr/local/include/depthai-shared/common/Extrinsics.hpp:6,
from /usr/local/include/depthai-shared/common/CameraInfo.hpp:4,
from /usr/local/include/depthai-shared/common/EepromData.hpp:7,
from /usr/local/include/depthai/device/CalibrationHandler.hpp:6,
from /usr/local/include/depthai/depthai.hpp:9,
from Project_Malum.cpp:20:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:67:1: error: parse error in template argument list
DEPTHAI_SERIALIZE_EXT(BoardConfig::USB, vid, pid, flashBootedVid, flashBootedPid, maxSpeed);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:67:1: error: ‘BoardConfig’ was not declared in this scope
DEPTHAI_SERIALIZE_EXT(BoardConfig::USB, vid, pid, flashBootedVid, flashBootedPid, maxSpeed);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:67:1: note: suggested alternative:
In file included from /usr/local/include/depthai/device/DeviceBase.hpp:30:0,
from /usr/local/include/depthai/device/Device.hpp:14,
from /usr/local/include/depthai/depthai.hpp:10,
from Project_Malum.cpp:20:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:18:8: note: ‘dai::BoardConfig’
struct BoardConfig {
~~~~~
In file included from /usr/local/include/depthai-shared/common/Point3f.hpp:7:0,
from /usr/local/include/depthai-shared/common/Extrinsics.hpp:6,
from /usr/local/include/depthai-shared/common/CameraInfo.hpp:4,
from /usr/local/include/depthai-shared/common/EepromData.hpp:7,
from /usr/local/include/depthai/device/CalibrationHandler.hpp:6,
from /usr/local/include/depthai/depthai.hpp:9,
from Project_Malum.cpp:20:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:67:1: error: parse error in template argument list
DEPTHAI_SERIALIZE_EXT(BoardConfig::USB, vid, pid, flashBootedVid, flashBootedPid, maxSpeed);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:67:1: error: ‘BoardConfig’ was not declared in this scope
DEPTHAI_SERIALIZE_EXT(BoardConfig::USB, vid, pid, flashBootedVid, flashBootedPid, maxSpeed);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:67:1: note: suggested alternative:
In file included from /usr/local/include/depthai/device/DeviceBase.hpp:30:0,
from /usr/local/include/depthai/device/Device.hpp:14,
from /usr/local/include/depthai/depthai.hpp:10,
from Project_Malum.cpp:20:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:18:8: note: ‘dai::BoardConfig’
struct BoardConfig {
~~~~~
In file included from /usr/local/include/depthai-shared/common/Point3f.hpp:7:0,
from /usr/local/include/depthai-shared/common/Extrinsics.hpp:6,
from /usr/local/include/depthai-shared/common/CameraInfo.hpp:4,
from /usr/local/include/depthai-shared/common/EepromData.hpp:7,
from /usr/local/include/depthai/device/CalibrationHandler.hpp:6,
from /usr/local/include/depthai/depthai.hpp:9,
from Project_Malum.cpp:20:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:67:1: error: parse error in template argument list
DEPTHAI_SERIALIZE_EXT(BoardConfig::USB, vid, pid, flashBootedVid, flashBootedPid, maxSpeed);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:67:1: error: ‘BoardConfig’ was not declared in this scope
DEPTHAI_SERIALIZE_EXT(BoardConfig::USB, vid, pid, flashBootedVid, flashBootedPid, maxSpeed);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:67:1: note: suggested alternative:
In file included from /usr/local/include/depthai/device/DeviceBase.hpp:30:0,
from /usr/local/include/depthai/device/Device.hpp:14,
from /usr/local/include/depthai/depthai.hpp:10,
from Project_Malum.cpp:20:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:18:8: note: ‘dai::BoardConfig’
struct BoardConfig {
~~~~~
In file included from /usr/local/include/depthai-shared/common/Point3f.hpp:7:0,
from /usr/local/include/depthai-shared/common/Extrinsics.hpp:6,
from /usr/local/include/depthai-shared/common/CameraInfo.hpp:4,
from /usr/local/include/depthai-shared/common/EepromData.hpp:7,
from /usr/local/include/depthai/device/CalibrationHandler.hpp:6,
from /usr/local/include/depthai/depthai.hpp:9,
from Project_Malum.cpp:20:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:67:1: error: parse error in template argument list
DEPTHAI_SERIALIZE_EXT(BoardConfig::USB, vid, pid, flashBootedVid, flashBootedPid, maxSpeed);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:68:1: error: ‘BoardConfig’ does not name a type
DEPTHAI_SERIALIZE_EXT(BoardConfig::GPIO, mode, direction, level, pull, drive, schmitt, slewFast);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:68:1: error: expected unqualified-id before ‘&’ token
DEPTHAI_SERIALIZE_EXT(BoardConfig::GPIO, mode, direction, level, pull, drive, schmitt, slewFast);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:68:1: error: expected ‘)’ before ‘&’ token
/usr/local/include/depthai-shared/device/BoardConfig.hpp:68:1: error: expected initializer before ‘nlohmann_json_t’
DEPTHAI_SERIALIZE_EXT(BoardConfig::GPIO, mode, direction, level, pull, drive, schmitt, slewFast);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:68:1: error: ‘BoardConfig’ has not been declared
DEPTHAI_SERIALIZE_EXT(BoardConfig::GPIO, mode, direction, level, pull, drive, schmitt, slewFast);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:68:1: error: expected ‘,’ or ‘...’ before ‘&’ token
DEPTHAI_SERIALIZE_EXT(BoardConfig::GPIO, mode, direction, level, pull, drive, schmitt, slewFast);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp: In function ‘void from_json(const json&, int)’:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:68:1: error: redefinition of ‘void from_json(const json&, int)’
DEPTHAI_SERIALIZE_EXT(BoardConfig::GPIO, mode, direction, level, pull, drive, schmitt, slewFast);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:67:1: note: ‘void from_json(const json&, int)’ previously defined here
DEPTHAI_SERIALIZE_EXT(BoardConfig::USB, vid, pid, flashBootedVid, flashBootedPid, maxSpeed);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:68:1: error: ‘nlohmann_json_t’ was not declared in this scope
DEPTHAI_SERIALIZE_EXT(BoardConfig::GPIO, mode, direction, level, pull, drive, schmitt, slewFast);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:68:1: note: suggested alternative: ‘nlohmann_json_j’
/usr/local/include/depthai-shared/device/BoardConfig.hpp: At global scope:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:68:1: error: ‘BoardConfig’ was not declared in this scope
DEPTHAI_SERIALIZE_EXT(BoardConfig::GPIO, mode, direction, level, pull, drive, schmitt, slewFast);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:68:1: note: suggested alternative:
In file included from /usr/local/include/depthai/device/DeviceBase.hpp:30:0,
from /usr/local/include/depthai/device/Device.hpp:14,
from /usr/local/include/depthai/depthai.hpp:10,
from Project_Malum.cpp:20:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:18:8: note: ‘dai::BoardConfig’
struct BoardConfig {
~~~~~
In file included from /usr/local/include/depthai-shared/common/Point3f.hpp:7:0,
from /usr/local/include/depthai-shared/common/Extrinsics.hpp:6,
from /usr/local/include/depthai-shared/common/CameraInfo.hpp:4,
from /usr/local/include/depthai-shared/common/EepromData.hpp:7,
from /usr/local/include/depthai/device/CalibrationHandler.hpp:6,
from /usr/local/include/depthai/depthai.hpp:9,
from Project_Malum.cpp:20:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:68:1: error: parse error in template argument list
DEPTHAI_SERIALIZE_EXT(BoardConfig::GPIO, mode, direction, level, pull, drive, schmitt, slewFast);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:68:1: error: redefinition of ‘struct NOPMEMBER_TRAITS<T, typename std::enable_if<decltype (MatchType<T, <expression error> >())::value, void>::type>’
DEPTHAI_SERIALIZE_EXT(BoardConfig::GPIO, mode, direction, level, pull, drive, schmitt, slewFast);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:67:1: note: previous definition of ‘struct NOP
MEMBER_TRAITS<T, typename std::enable_if<decltype (MatchType<T, <expression error> >())::value, void>::type>’
DEPTHAI_SERIALIZE_EXT(BoardConfig::USB, vid, pid, flashBootedVid, flashBootedPid, maxSpeed);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:68:1: error: ‘BoardConfig’ was not declared in this scope
DEPTHAI_SERIALIZE_EXT(BoardConfig::GPIO, mode, direction, level, pull, drive, schmitt, slewFast);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:68:1: note: suggested alternative:
In file included from /usr/local/include/depthai/device/DeviceBase.hpp:30:0,
from /usr/local/include/depthai/device/Device.hpp:14,
from /usr/local/include/depthai/depthai.hpp:10,
from Project_Malum.cpp:20:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:18:8: note: ‘dai::BoardConfig’
struct BoardConfig {
~~~~~
In file included from /usr/local/include/depthai-shared/common/Point3f.hpp:7:0,
from /usr/local/include/depthai-shared/common/Extrinsics.hpp:6,
from /usr/local/include/depthai-shared/common/CameraInfo.hpp:4,
from /usr/local/include/depthai-shared/common/EepromData.hpp:7,
from /usr/local/include/depthai/device/CalibrationHandler.hpp:6,
from /usr/local/include/depthai/depthai.hpp:9,
from Project_Malum.cpp:20:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:68:1: error: parse error in template argument list
DEPTHAI_SERIALIZE_EXT(BoardConfig::GPIO, mode, direction, level, pull, drive, schmitt, slewFast);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:68:1: error: ‘BoardConfig’ was not declared in this scope
DEPTHAI_SERIALIZE_EXT(BoardConfig::GPIO, mode, direction, level, pull, drive, schmitt, slewFast);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:68:1: note: suggested alternative:
In file included from /usr/local/include/depthai/device/DeviceBase.hpp:30:0,
from /usr/local/include/depthai/device/Device.hpp:14,
from /usr/local/include/depthai/depthai.hpp:10,
from Project_Malum.cpp:20:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:18:8: note: ‘dai::BoardConfig’
struct BoardConfig {
~~~~~
In file included from /usr/local/include/depthai-shared/common/Point3f.hpp:7:0,
from /usr/local/include/depthai-shared/common/Extrinsics.hpp:6,
from /usr/local/include/depthai-shared/common/CameraInfo.hpp:4,
from /usr/local/include/depthai-shared/common/EepromData.hpp:7,
from /usr/local/include/depthai/device/CalibrationHandler.hpp:6,
from /usr/local/include/depthai/depthai.hpp:9,
from Project_Malum.cpp:20:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:68:1: error: parse error in template argument list
DEPTHAI_SERIALIZE_EXT(BoardConfig::GPIO, mode, direction, level, pull, drive, schmitt, slewFast);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:68:1: error: redefinition of ‘template<class T> std::enable_if_t<decltype (MatchType<T, <expression error> >())::value, NOPMEMBER_TRAITS<T, void> > NOPGetExternalMemberTraits(T)’
DEPTHAI_SERIALIZE_EXT(BoardConfig::GPIO, mode, direction, level, pull, drive, schmitt, slewFast);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:67:1: note: ‘template<class T> std::enable_if_t<decltype (MatchType<T, <expression error> >())::value, NOPMEMBER_TRAITS<T, void> > NOPGetExternalMemberTraits(T
)’ previously declared here
DEPTHAI_SERIALIZE_EXT(BoardConfig::USB, vid, pid, flashBootedVid, flashBootedPid, maxSpeed);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:68:1: error: ‘BoardConfig’ was not declared in this scope
DEPTHAI_SERIALIZE_EXT(BoardConfig::GPIO, mode, direction, level, pull, drive, schmitt, slewFast);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:68:1: note: suggested alternative:
In file included from /usr/local/include/depthai/device/DeviceBase.hpp:30:0,
from /usr/local/include/depthai/device/Device.hpp:14,
from /usr/local/include/depthai/depthai.hpp:10,
from Project_Malum.cpp:20:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:18:8: note: ‘dai::BoardConfig’
struct BoardConfig {
~~~~~
In file included from /usr/local/include/depthai-shared/common/Point3f.hpp:7:0,
from /usr/local/include/depthai-shared/common/Extrinsics.hpp:6,
from /usr/local/include/depthai-shared/common/CameraInfo.hpp:4,
from /usr/local/include/depthai-shared/common/EepromData.hpp:7,
from /usr/local/include/depthai/device/CalibrationHandler.hpp:6,
from /usr/local/include/depthai/depthai.hpp:9,
from Project_Malum.cpp:20:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:68:1: error: parse error in template argument list
DEPTHAI_SERIALIZE_EXT(BoardConfig::GPIO, mode, direction, level, pull, drive, schmitt, slewFast);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:69:1: error: ‘BoardConfig’ does not name a type
DEPTHAI_SERIALIZE_EXT(BoardConfig::UART, tmp);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:69:1: error: expected unqualified-id before ‘&’ token
DEPTHAI_SERIALIZE_EXT(BoardConfig::UART, tmp);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:69:1: error: expected ‘)’ before ‘&’ token
/usr/local/include/depthai-shared/device/BoardConfig.hpp:69:1: error: expected initializer before ‘nlohmann_json_t’
DEPTHAI_SERIALIZE_EXT(BoardConfig::UART, tmp);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:69:1: error: ‘BoardConfig’ has not been declared
DEPTHAI_SERIALIZE_EXT(BoardConfig::UART, tmp);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:69:1: error: expected ‘,’ or ‘...’ before ‘&’ token
DEPTHAI_SERIALIZE_EXT(BoardConfig::UART, tmp);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp: In function ‘void from_json(const json&, int)’:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:69:1: error: redefinition of ‘void from_json(const json&, int)’
DEPTHAI_SERIALIZE_EXT(BoardConfig::UART, tmp);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:67:1: note: ‘void from_json(const json&, int)’ previously defined here
DEPTHAI_SERIALIZE_EXT(BoardConfig::USB, vid, pid, flashBootedVid, flashBootedPid, maxSpeed);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:69:1: error: ‘nlohmann_json_t’ was not declared in this scope
DEPTHAI_SERIALIZE_EXT(BoardConfig::UART, tmp);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:69:1: note: suggested alternative: ‘nlohmann_json_j’
/usr/local/include/depthai-shared/device/BoardConfig.hpp: At global scope:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:69:1: error: ‘BoardConfig’ was not declared in this scope
DEPTHAI_SERIALIZE_EXT(BoardConfig::UART, tmp);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:69:1: note: suggested alternative:
In file included from /usr/local/include/depthai/device/DeviceBase.hpp:30:0,
from /usr/local/include/depthai/device/Device.hpp:14,
from /usr/local/include/depthai/depthai.hpp:10,
from Project_Malum.cpp:20:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:18:8: note: ‘dai::BoardConfig’
struct BoardConfig {
~~~~~
In file included from /usr/local/include/depthai-shared/common/Point3f.hpp:7:0,
from /usr/local/include/depthai-shared/common/Extrinsics.hpp:6,
from /usr/local/include/depthai-shared/common/CameraInfo.hpp:4,
from /usr/local/include/depthai-shared/common/EepromData.hpp:7,
from /usr/local/include/depthai/device/CalibrationHandler.hpp:6,
from /usr/local/include/depthai/depthai.hpp:9,
from Project_Malum.cpp:20:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:69:1: error: parse error in template argument list
DEPTHAI_SERIALIZE_EXT(BoardConfig::UART, tmp);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:69:1: error: redefinition of ‘struct NOPMEMBER_TRAITS<T, typename std::enable_if<decltype (MatchType<T, <expression error> >())::value, void>::type>’
DEPTHAI_SERIALIZE_EXT(BoardConfig::UART, tmp);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:67:1: note: previous definition of ‘struct NOP
MEMBER_TRAITS<T, typename std::enable_if<decltype (MatchType<T, <expression error> >())::value, void>::type>’
DEPTHAI_SERIALIZE_EXT(BoardConfig::USB, vid, pid, flashBootedVid, flashBootedPid, maxSpeed);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:69:1: error: ‘BoardConfig’ was not declared in this scope
DEPTHAI_SERIALIZE_EXT(BoardConfig::UART, tmp);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:69:1: note: suggested alternative:
In file included from /usr/local/include/depthai/device/DeviceBase.hpp:30:0,
from /usr/local/include/depthai/device/Device.hpp:14,
from /usr/local/include/depthai/depthai.hpp:10,
from Project_Malum.cpp:20:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:18:8: note: ‘dai::BoardConfig’
struct BoardConfig {
~~~~~
In file included from /usr/local/include/depthai-shared/common/Point3f.hpp:7:0,
from /usr/local/include/depthai-shared/common/Extrinsics.hpp:6,
from /usr/local/include/depthai-shared/common/CameraInfo.hpp:4,
from /usr/local/include/depthai-shared/common/EepromData.hpp:7,
from /usr/local/include/depthai/device/CalibrationHandler.hpp:6,
from /usr/local/include/depthai/depthai.hpp:9,
from Project_Malum.cpp:20:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:69:1: error: parse error in template argument list
DEPTHAI_SERIALIZE_EXT(BoardConfig::UART, tmp);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:69:1: error: ‘BoardConfig’ was not declared in this scope
DEPTHAI_SERIALIZE_EXT(BoardConfig::UART, tmp);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:69:1: note: suggested alternative:
In file included from /usr/local/include/depthai/device/DeviceBase.hpp:30:0,
from /usr/local/include/depthai/device/Device.hpp:14,
from /usr/local/include/depthai/depthai.hpp:10,
from Project_Malum.cpp:20:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:18:8: note: ‘dai::BoardConfig’
struct BoardConfig {
~~~~~
In file included from /usr/local/include/depthai-shared/common/Point3f.hpp:7:0,
from /usr/local/include/depthai-shared/common/Extrinsics.hpp:6,
from /usr/local/include/depthai-shared/common/CameraInfo.hpp:4,
from /usr/local/include/depthai-shared/common/EepromData.hpp:7,
from /usr/local/include/depthai/device/CalibrationHandler.hpp:6,
from /usr/local/include/depthai/depthai.hpp:9,
from Project_Malum.cpp:20:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:69:1: error: parse error in template argument list
DEPTHAI_SERIALIZE_EXT(BoardConfig::UART, tmp);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:69:1: error: redefinition of ‘template<class T> std::enable_if_t<decltype (MatchType<T, <expression error> >())::value, NOPMEMBER_TRAITS<T, void> > NOPGetExternalMemberTraits(T)’
DEPTHAI_SERIALIZE_EXT(BoardConfig::UART, tmp);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:67:1: note: ‘template<class T> std::enable_if_t<decltype (MatchType<T, <expression error> >())::value, NOPMEMBER_TRAITS<T, void> > NOPGetExternalMemberTraits(T
)’ previously declared here
DEPTHAI_SERIALIZE_EXT(BoardConfig::USB, vid, pid, flashBootedVid, flashBootedPid, maxSpeed);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:69:1: error: ‘BoardConfig’ was not declared in this scope
DEPTHAI_SERIALIZE_EXT(BoardConfig::UART, tmp);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:69:1: note: suggested alternative:
In file included from /usr/local/include/depthai/device/DeviceBase.hpp:30:0,
from /usr/local/include/depthai/device/Device.hpp:14,
from /usr/local/include/depthai/depthai.hpp:10,
from Project_Malum.cpp:20:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:18:8: note: ‘dai::BoardConfig’
struct BoardConfig {
~~~~~
In file included from /usr/local/include/depthai-shared/common/Point3f.hpp:7:0,
from /usr/local/include/depthai-shared/common/Extrinsics.hpp:6,
from /usr/local/include/depthai-shared/common/CameraInfo.hpp:4,
from /usr/local/include/depthai-shared/common/EepromData.hpp:7,
from /usr/local/include/depthai/device/CalibrationHandler.hpp:6,
from /usr/local/include/depthai/depthai.hpp:9,
from Project_Malum.cpp:20:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:69:1: error: parse error in template argument list
DEPTHAI_SERIALIZE_EXT(BoardConfig::UART, tmp);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:70:1: error: ‘BoardConfig’ does not name a type
DEPTHAI_SERIALIZE_EXT(BoardConfig, usb, watchdogTimeoutMs, watchdogInitialDelayMs, gpio, uart);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp: In function ‘void to_json(nlohmann::json&, const int&)’:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:70:1: error: request for member ‘usb’ in ‘nlohmann_json_t’, which is of non-class type ‘const int’
DEPTHAI_SERIALIZE_EXT(BoardConfig, usb, watchdogTimeoutMs, watchdogInitialDelayMs, gpio, uart);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:70:1: error: request for member ‘watchdogTimeoutMs’ in ‘nlohmann_json_t’, which is of non-class type ‘const int’
DEPTHAI_SERIALIZE_EXT(BoardConfig, usb, watchdogTimeoutMs, watchdogInitialDelayMs, gpio, uart);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:70:1: error: request for member ‘watchdogInitialDelayMs’ in ‘nlohmann_json_t’, which is of non-class type ‘const int’
DEPTHAI_SERIALIZE_EXT(BoardConfig, usb, watchdogTimeoutMs, watchdogInitialDelayMs, gpio, uart);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:70:1: error: request for member ‘gpio’ in ‘nlohmann_json_t’, which is of non-class type ‘const int’
DEPTHAI_SERIALIZE_EXT(BoardConfig, usb, watchdogTimeoutMs, watchdogInitialDelayMs, gpio, uart);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:70:1: error: request for member ‘uart’ in ‘nlohmann_json_t’, which is of non-class type ‘const int’
DEPTHAI_SERIALIZE_EXT(BoardConfig, usb, watchdogTimeoutMs, watchdogInitialDelayMs, gpio, uart);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp: At global scope:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:70:1: error: ‘BoardConfig’ has not been declared
DEPTHAI_SERIALIZE_EXT(BoardConfig, usb, watchdogTimeoutMs, watchdogInitialDelayMs, gpio, uart);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp: In function ‘void from_json(const json&, int&)’:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:70:1: error: request for member ‘usb’ in ‘nlohmann_json_t’, which is of non-class type ‘int’
DEPTHAI_SERIALIZE_EXT(BoardConfig, usb, watchdogTimeoutMs, watchdogInitialDelayMs, gpio, uart);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:70:1: error: request for member ‘watchdogTimeoutMs’ in ‘nlohmann_json_t’, which is of non-class type ‘int’
DEPTHAI_SERIALIZE_EXT(BoardConfig, usb, watchdogTimeoutMs, watchdogInitialDelayMs, gpio, uart);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:70:1: error: request for member ‘watchdogInitialDelayMs’ in ‘nlohmann_json_t’, which is of non-class type ‘int’
DEPTHAI_SERIALIZE_EXT(BoardConfig, usb, watchdogTimeoutMs, watchdogInitialDelayMs, gpio, uart);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:70:1: error: request for member ‘gpio’ in ‘nlohmann_json_t’, which is of non-class type ‘int’
DEPTHAI_SERIALIZE_EXT(BoardConfig, usb, watchdogTimeoutMs, watchdogInitialDelayMs, gpio, uart);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:70:1: error: request for member ‘uart’ in ‘nlohmann_json_t’, which is of non-class type ‘int’
DEPTHAI_SERIALIZE_EXT(BoardConfig, usb, watchdogTimeoutMs, watchdogInitialDelayMs, gpio, uart);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp: At global scope:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:70:1: error: ‘BoardConfig’ was not declared in this scope
DEPTHAI_SERIALIZE_EXT(BoardConfig, usb, watchdogTimeoutMs, watchdogInitialDelayMs, gpio, uart);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:70:1: note: suggested alternative:
In file included from /usr/local/include/depthai/device/DeviceBase.hpp:30:0,
from /usr/local/include/depthai/device/Device.hpp:14,
from /usr/local/include/depthai/depthai.hpp:10,
from Project_Malum.cpp:20:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:18:8: note: ‘dai::BoardConfig’
struct BoardConfig {
~~~~~
In file included from /usr/local/include/depthai-shared/common/Point3f.hpp:7:0,
from /usr/local/include/depthai-shared/common/Extrinsics.hpp:6,
from /usr/local/include/depthai-shared/common/CameraInfo.hpp:4,
from /usr/local/include/depthai-shared/common/EepromData.hpp:7,
from /usr/local/include/depthai/device/CalibrationHandler.hpp:6,
from /usr/local/include/depthai/depthai.hpp:9,
from Project_Malum.cpp:20:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:70:1: error: redefinition of ‘struct NOPMEMBER_TRAITS<T, typename std::enable_if<decltype (MatchType<T, <expression error> >())::value, void>::type>’
DEPTHAI_SERIALIZE_EXT(BoardConfig, usb, watchdogTimeoutMs, watchdogInitialDelayMs, gpio, uart);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:67:1: note: previous definition of ‘struct NOP
MEMBER_TRAITS<T, typename std::enable_if<decltype (MatchType<T, <expression error> >())::value, void>::type>’
DEPTHAI_SERIALIZE_EXT(BoardConfig::USB, vid, pid, flashBootedVid, flashBootedPid, maxSpeed);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:70:1: error: ‘BoardConfig’ was not declared in this scope
DEPTHAI_SERIALIZE_EXT(BoardConfig, usb, watchdogTimeoutMs, watchdogInitialDelayMs, gpio, uart);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:70:1: note: suggested alternative:
In file included from /usr/local/include/depthai/device/DeviceBase.hpp:30:0,
from /usr/local/include/depthai/device/Device.hpp:14,
from /usr/local/include/depthai/depthai.hpp:10,
from Project_Malum.cpp:20:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:18:8: note: ‘dai::BoardConfig’
struct BoardConfig {
~~~~~
In file included from /usr/local/include/depthai-shared/common/Point3f.hpp:7:0,
from /usr/local/include/depthai-shared/common/Extrinsics.hpp:6,
from /usr/local/include/depthai-shared/common/CameraInfo.hpp:4,
from /usr/local/include/depthai-shared/common/EepromData.hpp:7,
from /usr/local/include/depthai/device/CalibrationHandler.hpp:6,
from /usr/local/include/depthai/depthai.hpp:9,
from Project_Malum.cpp:20:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:70:1: error: ‘BoardConfig’ was not declared in this scope
DEPTHAI_SERIALIZE_EXT(BoardConfig, usb, watchdogTimeoutMs, watchdogInitialDelayMs, gpio, uart);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:70:1: note: suggested alternative:
In file included from /usr/local/include/depthai/device/DeviceBase.hpp:30:0,
from /usr/local/include/depthai/device/Device.hpp:14,
from /usr/local/include/depthai/depthai.hpp:10,
from Project_Malum.cpp:20:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:18:8: note: ‘dai::BoardConfig’
struct BoardConfig {
~~~~~
In file included from /usr/local/include/depthai-shared/common/Point3f.hpp:7:0,
from /usr/local/include/depthai-shared/common/Extrinsics.hpp:6,
from /usr/local/include/depthai-shared/common/CameraInfo.hpp:4,
from /usr/local/include/depthai-shared/common/EepromData.hpp:7,
from /usr/local/include/depthai/device/CalibrationHandler.hpp:6,
from /usr/local/include/depthai/depthai.hpp:9,
from Project_Malum.cpp:20:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:70:1: error: redefinition of ‘template<class T> std::enable_if_t<decltype (MatchType<T, <expression error> >())::value, NOPMEMBER_TRAITS<T, void> > NOPGetExternalMemberTraits(T)’
DEPTHAI_SERIALIZE_EXT(BoardConfig, usb, watchdogTimeoutMs, watchdogInitialDelayMs, gpio, uart);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:67:1: note: ‘template<class T> std::enable_if_t<decltype (MatchType<T, <expression error> >())::value, NOPMEMBER_TRAITS<T, void> > NOPGetExternalMemberTraits(T
)’ previously declared here
DEPTHAI_SERIALIZE_EXT(BoardConfig::USB, vid, pid, flashBootedVid, flashBootedPid, maxSpeed);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:70:1: error: ‘BoardConfig’ was not declared in this scope
DEPTHAI_SERIALIZE_EXT(BoardConfig, usb, watchdogTimeoutMs, watchdogInitialDelayMs, gpio, uart);
^
/usr/local/include/depthai-shared/device/BoardConfig.hpp:70:1: note: suggested alternative:
In file included from /usr/local/include/depthai/device/DeviceBase.hpp:30:0,
from /usr/local/include/depthai/device/Device.hpp:14,
from /usr/local/include/depthai/depthai.hpp:10,
from Project_Malum.cpp:20:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:18:8: note: ‘dai::BoardConfig’
struct BoardConfig {
~~~~~
In file included from /usr/local/include/depthai/device/DeviceBase.hpp:30:0,
from /usr/local/include/depthai/device/Device.hpp:14,
from /usr/local/include/depthai/depthai.hpp:10,
from Project_Malum.cpp:20:
/usr/local/include/depthai-shared/device/BoardConfig.hpp:72:1: error: expected declaration before ‘}’ token
} // namespace dai
^

Could someone help me to get the core library working, and help me find the problem?
Thank you in advance!

  • erik replied to this.

    Hello Epsi ,
    Our firmware engineers have said that you need to set C++ 14 standard in order to compile the depthai-core. I hope this helps!
    Thanks, Erik

    Hi Erik, thank you for your reaction!

    I saw the dependency on c++ 14, and already am using it.
    I checked this by printing the c++ standard, using:

    int cppversion = __cplusplus;
    std::cout << cppversion;

    This resulted in 201402, which is c++14.

    Could something else be the problem?

    @Epsi

    Please share more details about how you are building your project. For reference there is a CMake example, repo "depthai-core-example"

    Also, try to make an minimum example where this can be reproduced - so we can test this over at our end as well if it turns out to be more convoluted than expected

    It might be that INPUT is defined by some other include. Try minimizing that by only including depthai for starters and continue from there.

    What are some others libraries you are including?

    • Epsi replied to this.

      themarpe

      Okay I got it working, the problem was mainly with eclipse, as it (for some reason) forces to use c++11, even though I specifically told it to use c++14.
      Also there where a few libraries that needed to be updated and linked correctly.

      It works now, but I can't use eclipse to run/debug the program, this is a small inconvenience, but can be worked around.

      Thank you for your help!

      Thanks for circling back - glad that you got it working!