2.1.2章节,链接完头库文件之后,make一下出了这么多错误,有大老解决了在个问题吗?
-
wros@wros-VirtualBox:~/chapt2$ make
Consolidate compiler generated dependencies of target ros2_cpp_node
[ 50%] Building CXX object CMakeFiles/ros2_cpp_node.dir/ros2_cpp_node.cpp.o
/home/wros/chapt2/ros2_cpp_node.cpp: In function ‘int main(int, char**)’:
/home/wros/chapt2/ros2_cpp_node.cpp:5:22: error: parse error in template argument list
5 | auto node = std::make_sharedrclcpp:::Node("cpp_node"); //创建节点
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/wros/chapt2/ros2_cpp_node.cpp:5:48: error: no matching function for call to ‘make_shared<<expression error> >(const char [9])’
5 | auto node = std::make_sharedrclcpp:::Node("cpp_node"); //创建节点
| ~~~~~~^
In file included from /usr/include/c++/11/memory:77,
from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:153,
from /home/wros/chapt2/ros2_cpp_node.cpp:1:
/usr/include/c++/11/bits/shared_ptr.h:875:5: note: candidate: ‘template<class _Tp, class ... _Args> std::shared_ptr<_Tp> std::make_shared(_Args&& ...)’
875 | make_shared(_Args&&... __args)
| ^
/usr/include/c++/11/bits/shared_ptr.h:875:5: note: template argument deduction/substitution failed:
/home/wros/chapt2/ros2_cpp_node.cpp:5:48: error: template argument 1 is invalid
5 | auto node = std::make_sharedrclcpp:::Node("cpp_node"); //创建节点
| ~~~^
In file included from /opt/ros/humble/include/rclcpp/rclcpp/client.hpp:40,
from /opt/ros/humble/include/rclcpp/rclcpp/callback_group.hpp:24,
from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:20,
from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25,
from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18,
from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20,
from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37,
from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25,
from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21,
from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155,
from /home/wros/chapt2/ros2_cpp_node.cpp:1:
/opt/ros/humble/include/rclcpp/rclcpp/logging.hpp:531:81: error: template argument 1 is invalid
531 | ::std::is_same<typename std::remove_cv_t<typename std::remove_reference_t<decltype(logger)>>,
| ^
/home/wros/chapt2/ros2_cpp_node.cpp:6:5: note: in expansion of macro ‘RCLCPP_INFO’
6 | RCLCPP_INFO(node->get_logger(),"你好,C++节点!"); //打印日志
| ^
/opt/ros/humble/include/rclcpp/rclcpp/logging.hpp:531:97: error: template argument 1 is invalid
531 | ::std::is_same<typename std::remove_cv_t<typename std::remove_reference_t<decltype(logger)>>,
| ^~
/home/wros/chapt2/ros2_cpp_node.cpp:6:5: note: in expansion of macro ‘RCLCPP_INFO’
6 | RCLCPP_INFO(node->get_logger(),"你好,C++节点!"); //打印日志
| ^
/opt/ros/humble/include/rclcpp/rclcpp/logging.hpp:532:32: error: template argument 1 is invalid
532 | typename ::rclcpp::Logger>::value,
| ^
/home/wros/chapt2/ros2_cpp_node.cpp:6:5: note: in expansion of macro ‘RCLCPP_INFO’
6 | RCLCPP_INFO(node->get_logger(),"你好,C++节点!"); //打印日志
| ^~~~~~~~~~~
make[2]: *** [CMakeFiles/ros2_cpp_node.dir/build.make:76:CMakeFiles/ros2_cpp_node.dir/ros2_cpp_node.cpp.o] 错误 1
make[1]: *** [CMakeFiles/Makefile2:85:CMakeFiles/ros2_cpp_node.dir/all] 错误 2
make: *** [Makefile:101:all] 错误 2