本文主要是介绍colcon build --symlink-install ros2_example_ws 出错,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
用colcon去build packages,出现下面的错误:
sph@sph-System-Product-Name:~/Documents/ros2_example_ws$ colcon build --symlink-install
Starting >>> examples_rclcpp_minimal_action_client
Starting >>> examples_rclcpp_minimal_action_server
Starting >>> examples_rclcpp_minimal_client
Starting >>> examples_rclcpp_minimal_composition
Starting >>> examples_rclcpp_minimal_publisher
Starting >>> examples_rclcpp_minimal_service
Starting >>> examples_rclcpp_minimal_subscriber
Starting >>> examples_rclcpp_minimal_timer
Starting >>> examples_rclpy_executors
Starting >>> examples_rclpy_minimal_action_client
Starting >>> examples_rclpy_minimal_action_server
Starting >>> examples_rclpy_minimal_client
Starting >>> examples_rclpy_minimal_publisher
Starting >>> examples_rclpy_minimal_service
Starting >>> examples_rclpy_minimal_subscriber
--- stderr: examples_rclcpp_minimal_action_server
CMake Error at CMakeLists.txt:13 (find_package):By not providing "Findament_cmake.cmake" in CMAKE_MODULE_PATH this projecthas asked CMake to find a package configuration file provided by"ament_cmake", but CMake did not find one.Could not find a package configuration file provided by "ament_cmake" withany of the following names:ament_cmakeConfig.cmakeament_cmake-config.cmakeAdd the installation prefix of "ament_cmake" to CMAKE_PREFIX_PATH or set"ament_cmake_DIR" to a directory containing one of the above files. If"ament_cmake" provides a separate development package or SDK, be sure ithas been installed.---
Failed <<< examples_rclcpp_minimal_action_server [ Exited with code 1 ]
--- stderr: examples_rclcpp_minimal_action_client
CMake Error at CMakeLists.txt:13 (find_package):By not providing "Findament_cmake.cmake" in CMAKE_MODULE_PATH this projecthas asked CMake to find a package configuration file provided by"ament_cmake", but CMake did not find one.Could not find a package configuration file provided by "ament_cmake" withany of the following names:ament_cmakeConfig.cmakeament_cmake-config.cmakeAdd the installation prefix of "ament_cmake" to CMAKE_PREFIX_PATH or set"ament_cmake_DIR" to a directory containing one of the above files. If"ament_cmake" provides a separate development package or SDK, be sure ithas been installed.---
Failed <<< examples_rclcpp_minimal_action_client [ Exited with code 1 ]
--- stderr: examples_rclcpp_minimal_client
CMake Error at CMakeLists.txt:13 (find_package):By not providing "Findament_cmake.cmake" in CMAKE_MODULE_PATH this projecthas asked CMake to find a package configuration file provided by"ament_cmake", but CMake did not find one.Could not find a package configuration file provided by "ament_cmake" withany of the following names:ament_cmakeConfig.cmakeament_cmake-config.cmakeAdd the installation prefix of "ament_cmake" to CMAKE_PREFIX_PATH or set"ament_cmake_DIR" to a directory containing one of the above files. If"ament_cmake" provides a separate development package or SDK, be sure ithas been installed.---
Failed <<< examples_rclcpp_minimal_client [ Exited with code 1 ]
--- stderr: examples_rclcpp_minimal_composition
CMake Error at CMakeLists.txt:13 (find_package):By not providing "Findament_cmake.cmake" in CMAKE_MODULE_PATH this projecthas asked CMake to find a package configuration file provided by"ament_cmake", but CMake did not find one.Could not find a package configuration file provided by "ament_cmake" withany of the following names:ament_cmakeConfig.cmakeament_cmake-config.cmakeAdd the installation prefix of "ament_cmake" to CMAKE_PREFIX_PATH or set"ament_cmake_DIR" to a directory containing one of the above files. If"ament_cmake" provides a separate development package or SDK, be sure ithas been installed.---
Failed <<< examples_rclcpp_minimal_composition [ Exited with code 1 ]
--- stderr: examples_rclcpp_minimal_publisher
CMake Error at CMakeLists.txt:13 (find_package):By not providing "Findament_cmake.cmake" in CMAKE_MODULE_PATH this projecthas asked CMake to find a package configuration file provided by"ament_cmake", but CMake did not find one.Could not find a package configuration file provided by "ament_cmake" withany of the following names:ament_cmakeConfig.cmakeament_cmake-config.cmakeAdd the installation prefix of "ament_cmake" to CMAKE_PREFIX_PATH or set"ament_cmake_DIR" to a directory containing one of the above files. If"ament_cmake" provides a separate development package or SDK, be sure ithas been installed.---
Failed <<< examples_rclcpp_minimal_publisher [ Exited with code 1 ]
--- stderr: examples_rclcpp_minimal_service
CMake Error at CMakeLists.txt:13 (find_package):By not providing "Findament_cmake.cmake" in CMAKE_MODULE_PATH this projecthas asked CMake to find a package configuration file provided by"ament_cmake", but CMake did not find one.Could not find a package configuration file provided by "ament_cmake" withany of the following names:ament_cmakeConfig.cmakeament_cmake-config.cmakeAdd the installation prefix of "ament_cmake" to CMAKE_PREFIX_PATH or set"ament_cmake_DIR" to a directory containing one of the above files. If"ament_cmake" provides a separate development package or SDK, be sure ithas been installed.---
Failed <<< examples_rclcpp_minimal_service [ Exited with code 1 ]
--- stderr: examples_rclcpp_minimal_subscriber
CMake Error at CMakeLists.txt:13 (find_package):By not providing "Findament_cmake.cmake" in CMAKE_MODULE_PATH this projecthas asked CMake to find a package configuration file provided by"ament_cmake", but CMake did not find one.Could not find a package configuration file provided by "ament_cmake" withany of the following names:ament_cmakeConfig.cmakeament_cmake-config.cmakeAdd the installation prefix of "ament_cmake" to CMAKE_PREFIX_PATH or set"ament_cmake_DIR" to a directory containing one of the above files. If"ament_cmake" provides a separate development package or SDK, be sure ithas been installed.---
Failed <<< examples_rclcpp_minimal_subscriber [ Exited with code 1 ]
--- stderr: examples_rclcpp_minimal_timer
CMake Error at CMakeLists.txt:13 (find_package):By not providing "Findament_cmake.cmake" in CMAKE_MODULE_PATH this projecthas asked CMake to find a package configuration file provided by"ament_cmake", but CMake did not find one.Could not find a package configuration file provided by "ament_cmake" withany of the following names:ament_cmakeConfig.cmakeament_cmake-config.cmakeAdd the installation prefix of "ament_cmake" to CMAKE_PREFIX_PATH or set"ament_cmake_DIR" to a directory containing one of the above files. If"ament_cmake" provides a separate development package or SDK, be sure ithas been installed.---
Failed <<< examples_rclcpp_minimal_timer [ Exited with code 1 ]
Finished <<< examples_rclpy_executors [1.65s]
Finished <<< examples_rclpy_minimal_action_client [1.64s]
Finished <<< examples_rclpy_minimal_action_server [1.64s]
Finished <<< examples_rclpy_minimal_client [1.63s]
Finished <<< examples_rclpy_minimal_publisher [1.63s]
Aborted <<< examples_rclpy_minimal_service
Aborted <<< examples_rclpy_minimal_subscriber Summary: 5 packages finished [2.06s]8 packages failed: examples_rclcpp_minimal_action_client examples_rclcpp_minimal_action_server examples_rclcpp_minimal_client examples_rclcpp_minimal_composition examples_rclcpp_minimal_publisher examples_rclcpp_minimal_service examples_rclcpp_minimal_subscriber examples_rclcpp_minimal_timer2 packages aborted: examples_rclpy_minimal_service examples_rclpy_minimal_subscriber8 packages had stderr output: examples_rclcpp_minimal_action_client examples_rclcpp_minimal_action_server examples_rclcpp_minimal_client examples_rclcpp_minimal_composition examples_rclcpp_minimal_publisher examples_rclcpp_minimal_service examples_rclcpp_minimal_subscriber examples_rclcpp_minimal_timer
一般原因都是工作环境变量没设置对,所以在build之前,最好source一下你要在ros1还是ros2的哪个版本上的进行build
解决办法:
source /opt/ros/dashing/local_setup.bash
这篇关于colcon build --symlink-install ros2_example_ws 出错的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!