Build error within Camera.hpp file

Dear support,

I get a weird build error of my ros2 package, that includes the Camera.hpp file, that I cannot explain. It is something I was not getting before, on a different container environment. Could there be some macro conflicts at play ? The error :

In file included from /workspaces/isaac_ros-dev/src/zed_cameras_stereo/zed_pointcloud_pkg/include/calibration_loader.hpp:4,
from /workspaces/isaac_ros-dev/src/zed_cameras_stereo/zed_pointcloud_pkg/src/calibration_loader.cpp:1:
/usr/local/zed/include/sl/Camera.hpp:1690:34: error: expected unqualified-id before ‘const’
1690 | FCT_CPU_GPU Vector2(const Vector2 &v) {
| ^~~~~
/usr/local/zed/include/sl/Camera.hpp:1690:34: error: expected ‘)’ before ‘const’
1690 | FCT_CPU_GPU Vector2(const Vector2 &v) {
| ~^~~~~
| )

Any ideas ? Thank you in advance.

Hi @Giorgos
I suspect you are using a version of the ZED SDK not compatible with the Isaac ROS package that you installed.

How did you install Isaac ROS? Have you followed our guide?

Hi Myzar,

I am installing on top of isaac ros dev 3.2 my own custom image that combines both the Zed SDK & dependencies, and some other libraries that I need for my project. I could not find a better way to do this, because using the environment from your guide, I am missing some necessary libraries like onnx-runtime-gpu.

I have followed the guide carefully to tweak the install_zed_aarch64.sh, so there shouldn’t be a problem with the version I pull.

Side note : The AI is suggesting that the compilation error might be related to using C++20 standard, which “requires the constructor to have the unqualified type”, that is for instance, Vector2(..) instead of Vector2< T > (…) . I need to confirm this.

Please change the CMake configuration to use C++17 instead of C++20.

I cannot do that unfortunately, I am using features from c++ 20.

Are you using the latest ZED SDK v5.1.1?

I am using ZED SDK v5.0

Please update to ZED SDK v5.1.

1 Like

oh cool, thanks! ~~

1 Like