下载源码包后在Ubuntu编译

下载源码包后在Ubuntu编译

学习使用Ubuntu过程中,不免会尝试跑一遍别人的代码,这时候要知道如何将源码下载后进行编译及运行。
本文与以下两篇博客相关:
ROS工作空间和功能包
ROS实现代码及已编译代码运行步骤

正文

  1. 从Github下载了源码包后,复制到Ubuntu,如图为Unity-Robotics-Hub源码包
    在这里插入图片描述
    历程里面有pick_and_place功能相关的一系列代码,这里只取里面ROS的代码。如图五个包:moveit_msgs,niryo_moveit,niryo_one_ros,niryo_one_urdf,ros_tcp_endpoint。

  2. 新建一个文件夹,作为一个新的工作空间。(也可以跟以前使用的包所在的工作空间一起使用)
    我这里命名为catkin_ws_ROS
    在这里插入图片描述

  3. 随后新建文件夹命名为src,用于存放包
    在这里插入图片描述

  4. 把前面提到的五个包一起放进上一步新建的src文件夹
    在这里插入图片描述

  5. 然后返回到catkin_ws_ROS目录下打开终端,输入

catkin_make
  1. 编译完成后,更新环境变量
    用ctrl+H在界面显示隐藏文件.bashrc
    进入文本后,添加
source ~/catkin_ws_ROS/devel/setup.bash

重新打开终端即可更新环境变量

编译遇到的报错及解决方法

一开始是打算把上面提到的功能包直接放到catkin_ws进行编译,但是却遇到了一些问题。

第一个问题
The specified base path “/home/vm123/catkin_ws” contains a CMakeLists.txt but “catkin_make” must be invoked in the root of workspace
在这里插入图片描述
参考如下网址解决:
https://answers.ros.org/question/252980/catkin_make-fail-must-be-invoked-in-the-root-of-workspace/
超链接

第二个问题
The build space at ‘/home/vm123/catkin_ws/build’ was previously built by ‘catkin build’. Please remove the build space or pick a different build space.
在这里插入图片描述
参考如下网址解决:
https://blog.csdn.net/qq_42735696/article/details/112801451
超链接
————————————————
版权声明:本文为CSDN博主「qq_42735696」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_42735696/article/details/112801451

猜你喜欢

转载自blog.csdn.net/m0_64730542/article/details/127721304