Brief: This tutorial teaches you to run C and C++ programs in Linux terminal. It also
I have been requested more than once about writing an easy to follow tutorial to run C++ program in Linux. In this guide, I’ll show you:
- how to compile and run C++ programs in Linux terminal
- how to setup Eclipse for C++ development in Ubuntu Linux
Do note that I am using Ubuntu Linux while writing this article but same steps are valid for other Linux distributions based on Ubuntu such as Linux Mint, elementary OS etc.
Learn C++ for Free
If you are new to C++, join this FREE online course from Microsoft and learn C++ programming from the experts.
Prerequisite: Install build-essential
If you want to do coding in Ubuntu Linux, you must install build-essential package. It consists of various software that you will need to compile programs, including gcc and g++ compilers.
Normally, build-essential should already be installed on your system. But to make it sure, run the command below:
sudo apt install build-essential
Method 1: Compile and run
C++ program in Linux terminal
Once you have the build-essential installed, you are ready to code in C++. I believe that you already know how to code in C++, even a little bit. Our main aim is to see how to compile and run C++ programs in terminal.
Let’s take an example of Swap program C++ which I wrote in a file named swap.cpp. The content of this file is the following:
You can save the program wherever you want.
Compile C++ code in Linux terminal
To compile the program, go to the directory where you have saved the cpp file and use the command in the following format:
g++ -o swap swap.cpp
Basically, with -o option, your are telling the compiler to generate the executable code in file swap. If you don’t do that, it will be defaulted to a.out file which is not a good programming practice.
Run C++ code in Linux terminal
Once you have compiled the code, you’ll get the executable file. You just need to run it in the following manner:
This will run your code.
You can refer to this gif for a better demonstration of running a C++ program in Ubuntu Linux.
Method 2: Setup Eclipse for C++ programming in Ubuntu Linux
That was the basic way of running a C++ program in Linux. But if you are working on a C++ project, building and running individual files would be a nightmare.
This is where Integrated Development Environment (IDE) comes in picture. One can argue a lot about best IDE for Linux but if you ask for my advice, I’ll say go ahead with Eclipse. This is the best IDE for C++ development in my opinion. Did I mention that it is also open source?
Install Eclipse in Ubuntu based Linux distributions
For Ubuntu Linux, you can simply click on the link below to install Eclipse from Ubuntu Software Center.
Alternatively, you can install it using apt-get commands in the terminal:
sudo apt-get install eclipse
[ufwp search=”c++” items=”1″]
Install Eclipse C++ Development Tooling (CDT) Plugin
Once you have it installed, it is time to prepare it for C++ development. By default, Eclipse is configured for Java development.
To configure it for C++ development, we need to install a plugin called C++ Development Tooling (CDT). To install CDT:
In the Eclipse menu, go to Help and then select Install New Software.
Next, click on the “Available Software Sites” link.
In the next step, search for CDT and check the box to select it for installation. Click OK afterward.
In here, select the newly added source from the drop down. It will now show you the option for C++ CDT. Just select C++ Development Tools here.
A few click on the Next button.
Accept the terms of course.
It will get the software from the repository and install it.
Once the installation is finished, you need to restart Eclipse.
Compile and run C++ program with Eclipse CDT
You’ll see the information about C++ Plugin at the next start.
You can now import or create C++ projects.
Once you have everything ready, you can compile the C++ project and run it:
That’s all you need to get started with C++ development in Ubuntu Linux. I hope you found this article useful. Questions and suggestions are welcomed.