1.错误类型
在对ros2包编译通过后,在终端执行
source path/to/your/workspace/install/setup.bash
时报错:
not found: "path/to/your/workspace/install/pkg_name/share/pkg_name/local_setup.bash"
2.问题原因及解决办法
这是由于在CMakeLists.txt中没有加入ament_package()
语句,ament_package()
的作用是申明你的package是个ros2包,该命令的作用与ros1中catkin_package()
的作用类似。
如果不加该语句,colcon就不会将package编译为ros2包,所以在执行source install/setup.bash
时会找不到相关setup.bash文件。
ament_package()
语句可以添加在CMakeLists.txt任何地方,但是必须放在find_package(ament_cmake REQUIRED)
语句之后。否则Cmake找不到ament_package命令。