ROS2 compile a standalone node: undefined references to `std::__throw_bad_array_new_length()'
조회 수: 7 (최근 30일)
이전 댓글 표시
Hi all,
I am trying to create a standalone node for ROS2 with a publisher (see schema below) and I am using the following tutorial to set up the model to generate the code:

but when I compile it, I obtain the following error
undefined reference to `std::__throw_bad_array_new_length()
and I don't find a way to fix (below the imag with the error). I also got the same error with the Simulink model used in the tutorial.

System info:
- OS: Ubuntu 22.04 LTS
- ROS2 version: Humble
- gcc version: 11.4.0
댓글 수: 0
채택된 답변
Josh Chen
2024년 5월 17일
Hi Federico,
Thanks for providing the system information. This error seems to be a compiler incompatible issue.
In R2023b version of MATLAB/Simulink, some internal packages were built with gcc-10. Hence, when compiling the Simulink model with gcc-11, you may see undefined reference errors.
This issue was resolved in the upcoming R2024b version, which uses gcc-12 to build those packages.
As a workaround for R2023b, you could consider installing gcc-10 on your machine so that the entire project uses the same gcc version during build process.
Best,
Josh
댓글 수: 2
mehdi
2025년 1월 30일
편집: Walter Roberson
2025년 2월 7일
hi, thank you very much for your guide but i couldn't choose C++10(ISO) on the Language Standard bar
i can only see C++03 AND C++11
how to change it to C++10???!
[later]
Hi Josh, do you have any idea what should i do?!
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Publishers and Subscribers에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!