[ROS IN 5 MIN] 011 – What is catkin_make & how do you use it?

Written by Ruben Alves


Hello ROS Developers! In this ROS in 5 min tutorial, we’re going to see what catkin_make is, how it works, and what its advantages are.

For that, we are going to use Robot Ignite Academy.

But before we start, if you are new to ROS and want to Learn ROS fast, I recommend that you take any of the following courses in Robot Ignite Academy:

Whether you like the video or not, or if you want to learn about specific ROS subjects, please leave a comment in the comments section below, so we can interact and learn from each other.

ROS Basics python Course Cover - ROS Online Courses - Robot Ignite Academy

ROS Basics for Beginners (Python)

ROS Basics C++ Course Cover - ROS Online Courses - Robot Ignite Academy

ROS Basics for Beginners (C++)

Question: What is catkin_make

Step1. Create a project in Robot Ignite Academy(RIA)

We have the best online ROS course available in RIA. It helps you learn ROS in the easiest way without setting up ROS environment locally. The only thing you need is a browser! Create an account here and start to browse the trial course for free now!

Step2. Create a package

Almost all the package you will need is already installed in RIA. We’ll create the package in the ROS Autonomous Vehicles 101 course as an example in this video, but you can choose any course you want to do this.

Please type the following command in shell to create a new package

cd ~/catkin_ws/src
catkin_create_pkg test roscpp

Step3. Compile the package with catkin_make

Now you can type catkin_make to compile the package.

cd ..

It shows a lot of outputs, but what did it really do?

The catkin_make is actually a macro which creates directories and runs cmake command for you. If you want to do it yourself, just delete the build and devel directories first.

rm -rf build/ devel/

Now you can create a build directory and run the cmake command by yourself to get the exact same result as catkin_make did.

mkdir build&&cd build
cmake /home/user/catkin_ws/src -DCATKIN_DEVEL_PREFIX=/home/user/catkin_ws/devel -DCMAKE_INSTALL_PREFIX=/home/user/catkin_ws/install -G "Unix Makefiles"

Take away today- The Answer:

catkin_make is a macro which creates source directories and runs the cmake commands for you. You can test out with the following step.


Edit by Tony Huang

Check Out These Related Posts

1 Comment

  1. THomas

    Sorry, but I have a hard time understanding you. I am from the USA.


Submit a Comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Pin It on Pinterest

Share This