网站中flash怎么做,哈尔滨模板建站公司推荐,php制作网站开发,海淀发布会目录 问题解决方案参考链接 问题
在 ubuntu-20 arm 开发板上根据官方文档手动编译安装 microros 过程中#xff0c;执行 ros2 run micro_ros_setup build_agent.sh 命令时#xff0c;遇到了 undefined reference to fmt::v6 的问题#xff0c;大概报错如下#xff1a;
Yo… 目录 问题解决方案参考链接 问题
在 ubuntu-20 arm 开发板上根据官方文档手动编译安装 microros 过程中执行 ros2 run micro_ros_setup build_agent.sh 命令时遇到了 undefined reference to fmt::v6 的问题大概报错如下
Your branch is up to date with origin/foxy.
ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
rclc_lifecycle: No definition of [osrf_testing_tools_cpp] for OS version [bionic]
rclc: No definition of [osrf_testing_tools_cpp] for OS version [bionic]
rootcaremnano2-desktop:/home/microros_ws/microros_ws# ros2 run micro_ros_setup build_agent.sh
Building micro-ROS Agent
Starting builtin_interfaces
Starting micro_ros_msgs
Starting microxrcedds_agent
Finished microxrcedds_agent [2.40s]
Finished micro_ros_msgs [4.28s]
Finished builtin_interfaces [29.0s]
Starting micro_ros_agent
--- stderr: micro_ros_agent
/home/microros_ws/microros_ws/install/microxrcedds_agent/lib/libmicroxrcedds_agent.so.2.0.0: undefined reference to fmt::v6::internal::basic_datavoid::signs
/home/microros_ws/microros_ws/install/microxrcedds_agent/lib/libmicroxrcedds_agent.so.2.0.0: undefined reference to spdlog::logger::log_it_(spdlog::details::log_msg const, bool, bool)
/home/microros_ws/microros_ws/install/microxrcedds_agent/lib/libmicroxrcedds_agent.so.2.0.0: undefined reference to int fmt::v6::internal::snprintf_floatdouble(double, int, fmt::v6::internal::float_specs, fmt::v6::internal::bufferchar)
/home/microros_ws/microros_ws/install/microxrcedds_agent/lib/libmicroxrcedds_agent.so.2.0.0: undefined reference to std::__cxx11::basic_stringchar, std::char_traitschar, std::allocatorchar fmt::v6::internal::grouping_implchar(fmt::v6::internal::locale_ref)
/home/microros_ws/microros_ws/install/microxrcedds_agent/lib/libmicroxrcedds_agent.so.2.0.0: undefined reference to int fmt::v6::internal::format_floatlong double(long double, int, fmt::v6::internal::float_specs, fmt::v6::internal::bufferchar)
/home/microros_ws/microros_ws/install/microxrcedds_agent/lib/libmicroxrcedds_agent.so.2.0.0: undefined reference to int fmt::v6::internal::snprintf_floatlong double(long double, int, fmt::v6::internal::float_specs, fmt::v6::internal::bufferchar)
/home/microros_ws/microros_ws/install/microxrcedds_agent/lib/libmicroxrcedds_agent.so.2.0.0: undefined reference to int fmt::v6::internal::format_floatdouble(double, int, fmt::v6::internal::float_specs, fmt::v6::internal::bufferchar)
collect2: error: ld returned 1 exit status
make[2]: *** [micro_ros_agent] Error 1
make[1]: *** [CMakeFiles/micro_ros_agent.dir/all] Error 2
make: *** [all] Error 2
---
Failed micro_ros_agent [1.83s, exited with code 2]解决方案
经过摸索在执行 ros2 run micro_ros_setup build_agent.sh 命令之前从源码编译安装一个 6.x 版本的 fmt 库即可具体步骤如下
如果已经遇到该错误可以先清除 micro_ros_agent 的编译安装缓存
cd ~/microros_ws
rm -r build/micro_ros_agent
rm -r install/micro_ros_agent从源码编译安装 fmt-6.x我在 ubuntu-20 系统上编译安装的是 fmt-6.1.2
wget https://github.com/fmtlib/fmt/archive/refs/tags/6.1.2.zip
unzip 6.1.2.zip
cd fmt-6.1.2
mkdir build cd build cmake .. make -j4
sudo make install继续编译 micro_ros_agent
ros2 run micro_ros_setup build_agent.sh
source install/local_setup.bash参考链接
Microros 官方编译安装文档 https://micro.ros.org/docs/tutorials/core/first_application_linux/
build_agent.sh fails while trying to go through tutorial https://github.com/micro-ROS/micro-ROS-Agent/issues/50