How to compile and run C++ with MinGW using Eclipse and CDT? - c++

I would like to do some C++ development on Windows using Eclipse and the CDT plugin. I use Eclipse Helios SR1 and have installed the CDT plugin. I have also installed MinGW and now I wrote a simple "Hello World" in Eclipse.
hello.cpp
#include <iostream>
using namespace std;
int main()
{
cout << "Hello World" << endl;
return 0;
}
In Eclipse using the CDT plugin and the MinGW compiler. How can I compile my program? And how can I test run the program from within Eclipse?

Does Setting up Eclipse CDT on Windows, Linux/Unix, Mac OS X work for you?

After browsing many threads and articles I've found a solution.
Solution tested on Windows 10 x64 on Eclipse Neon.3 Release (4.6.3) with C/C++ Development Tools 9.2.1.201704050430 and MinGW
System configuration
Download MinGW. Any distro might work. I used the distro recommended on http://isocpp.org/
Extract archive into C:\MinGW (actually to C:\, because archive contains folder MinGW)
RMB on This PC -> Properties -> Additional system settings -> Tab Advanced-> Button Environment variables
On second table System variables click New. Name variable MINGW_HOME and set path to MinGW install folder C:\MinGW and then OK
Find variable Path in table and choose Edit
In new window click New and type %MINGW_HOME%\bin\
Confirm actions by clickig OK in opened windows
You can check availability of new tools by typing in command line g++ --version You should see something like
g++ (GCC) 6.3.0
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Eclipse CDT configuration
Install Eclipse with CDT or just add CDT to existing Eclipse installation
Go to the folder with installed MinGW (C:\MinGW\bin\). Make a copy of file gcc.exe (DO NOT RENAME original file!)
Rename copied filed to mingw32-gcc.exe (You should have both files gcc.exe and mingw32-gcc.exe in \MinGW\bin\)
Open Eclipse and select C\C++ perspective
Go to Window -> Preferences -> C\C++ -> Build -> Environment
Click Add and type PATH as name and click on Variables and select Path. Confirm with Ok.
Select new variable PATH by clicking Select and then Ok.
Restart Eclipse
Now you should be able to compile Hello World program. Just select New -> C++ Project. Here you should see available MinGW as Toolchain

Just add MinGW to System Path(System configuration part in AndriiL's post) is enough. The variable named PATH with ${PATH} as value will be added automatically in Window -> Preferences -> C\C++ -> Build -> Environment and you can see MinGW GCC as a toolchain option in project wizard. If no PATH variable presented, Eclipse CDT may not load the recent System Path changes in the OS(Click Select... and choose Path variable, the value may not contain MinGW path), just Exit Eclipse and open it again.

Chocolatey is one package manager that allows mingw install with a single command using Windows Powershell.
choco install mingw --version=8.1.0
After the installation is done, add the below toolchain path to Eclipse->Window->Preferences-> Core Build ToolChains -> User Defined ToolChains.
C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\bin\gcc.exe
Restart eclipse.
The MinGW toolchain should be available for use now in Eclipse.

Related

Eclipse Can't Find MinGW/Can't setup C++ on Eclipse

I am trying to setup c++ in Eclipse IDE. I have installed the C++ Development Tools and C++ Development Tools SDK. I have read "Before you begin" in "C/C++ Development Guide". I have installed MinGW on the page it provides. It installes it to C:\MinGW which Eclipse said it could recognize. I create a new makefile C++ project with MinGW selected as my tool chain. I had to uncheck "Show toolchains only if they are supported on the platform". It doesn't work. I have spent hours on trying to make this work.
You need to tell Eclipse where to gcc.exe and g++.exe.
In your case I would expect that to be C:\MinGw\mingw32\bin or C:\MinGw\bin.
If there's no gcc.exe and g++.exe there, it would appear your MinGW setup is broken.
Note that plain MinGW is a not very well maintained or up to date. I would recommend switching to MinGW-w64, which exists for both Windows 32-bit and 64-bit. A standalone build for Windows of recent MinGW-w64 can be downloaded from https://winlibs.com/. Just extract the file (no installer needed) and point to the mingw32\bin or mingw64\bin folder to find the compiler toolchain.

Eclipse Juno CDT running in Linux - it does not give me any toolchain

I am using Slackware 14 and latest Eclipse Juno.
As a regular Eclipse user, I installed CDT just like I always did. However, when I create a new project, there is no toolchain available. Screenshot here:
I remember I used to get the default GCC toolchain available as soon as I have CDT installed in Linux. Even if using BSD, I could install GCC cross compile toolchain and it just works for native GCC as well. I tried to install the cross compile toolchain and CDT does not pick it up.
Please offer your suggestions, thank you.
you should install it from help menu
I had the same problem. At some point, I could program in C++ with Eclipse. One day, it can't find any tool chain even when there are a couple of them. Basically, you need to reinstall your CDT plugin with assumption that you installed your tool chain in a correct place - for this, you need to refer to instructions for your Linux distribution.
Here is what I did without changing anything on toolchain:
Uninstall CDT from Eclipse
Help -> Install new software -> Click the link "Already installed" -> Select CDT items -> Click Uninstall
Install CDT again
This got me my toolchain back in Eclipse.
In case reinstalling does not work, it means you have unsupported toolchain for some reason. Uncheck Show project types and toolchains only if they are supported on the platform on the new project dialog. Then it will show the toolchain. You can go ahead to select the toolchain to create the project. But I'd try to find why the installed gcc is unsupoprted.

How to install C++ plugin to Eclipse?

I have Eclipse Helios and wanted to code C++ using it, but I keep running into the "Launch failed. Binary Not found" error.
I installed the MingW C++ compiler using the "mingw-get-inst-20120426" file and selected the "C compiler, C++ compiler, MSYS Basic System, and MingW Developer Toolkit".
Then I went to Eclipse > project > properties > C/C++ General > Paths and Symbols, then selected the GNU C++ in the Includes tab and added the "C:\MinGW\lib\gcc\mingw32\4.6.2\include\c++" path.
I also went to C/C++ build > Environment and appended the "C:\MinGW\bin;C:\MinGW\msys\1.0\bin" to the PATH.
Then I created a Hello World C++ project, selecting the MingW GCC under Toolchains, and then built the project using the "hammer" icon.
However, once I ran the HelloWorld program it gets the "Launch failed. Binary Not Found" error.
Here is another error:
g++ -IC:\MinGW\lib\gcc\mingw32\4.6.2\include\c++ -O0 -g3 -Wall -c -
fmessage-length=0 -osrc\HelloWorld.o ..\src\HelloWorld.cpp
Internal Builder: Cannot run program "g++": The system cannot find the
file specified.
I also downloaded the CDT (C/C++ Development Tooling) and transferred the "features" and "plugins" folder to the eclipse folder.
Can someone please give me step-by-step on how to resolve this?
Firstly, in the following examples all drive-letters should be replaced with the relevant ones on your system. Not all of these steps are really necessary, but it works (and the more the merrier).
We start with the slightly simpler release config - we want to make it compile.
Go to Project -- Properties
Look if the include directories are correct and in place.
Go to Project -- Properties -- Run/Debug Settings -- NEW -- Main Tab
Set to Release and Browse to the Release folder of the project. If the exe file is not set type in its name.
Switch to Common Tab. Check Allocate Console and Launch in Background. Don't Run yet.
Go to Project -- Properties -- C/C++ Build -- Discovery Options
Tools -- GCC C++ Compiler
"Browse" to the mingw bin folder and select the g++.exe or copy mingw32-g++.exe to g++.exe
Note: The image points to mingw32-g++.exe please use g++.exe
Right click on the project and look -- Build Configurations -- Set Active -- Release is checked.
Right click on the project -- Run As -- Run Configurations.
Under C/C++ Application select, the one which refers to the release version. Then click Run
If this works, I will show you how to set the Debug Properties. (more complicated)
Nowadays (Eclipse Juno and newer), it is much simpler. You just need to:
Install MinGW (and including C++ compiler)
Add the paths "C:\minGW\bin" and "C:\minGW\msys\1.0\bin" (or wherever you installed MinGW to) to your Windows "Path" variable
Install Eclipse. If Eclise already is installed, restart it. it will recognize that MinGW is now available.
Create a New project: "C++ Project"
For every Project type in the following dialog, you should now be able to select the "MinGW GCC" toolchain
Happy coding
See here: http://www.youtube.com/watch?v=QhvXCg2CY4Q
g++ is installed as part of MinGW. If you are getting an error in Eclipse that it cannot find g++ then your path is most likely incorrect. From a command prompt you should be able to run:
g++ --version
and it should display the version of g++ in the MinGW/bin directory.
Eclipse uses this path to locate the include files and the compiler. Once you get the path correct restart Eclipse and the problems listed in your question should be resolved.

Eclipse Linux stock "Hello World"-app doesn't run

I've been developing with C++ in VS2010 but now I am trying to convert
my apps to build and run under Linux. So I've installed Eclipse Indigo
and the CDT package on an Ubuntu linux machine.
When I create the stock "Hello World"-project for C++, I get the
classic "Binary not found" error message. I've combed the internet,
but found no solution.
Through my findings I have gone to:
Project -> Properties -> C/C++ Build -> Tool Chain Editor
and changed the Current Toolchain from Linux GCC to MinGW GCC.
But after rebuilding the project I still have the same error message.
Any suggestions?
The gcc package doesn't necessarily include the C++ compiler. Try:
whereis g++
on the commandline (or g++ -v) to check if it is installed...

having trouble with winavr gcc in eclipse c/c++

I am using eclipse c/c++ when i create a c project then it does not shows winavr gcc in the toolchain list but i have installed WinAVR-20100110 in c drive and my eclipse is also in the same directory.
it shows cygwin,solarize,linux,macosx,mingw gcc
Eclipse does not look for AVR toolchain by default, even if it is in path (you did add it there?). You need to create an cross GCC project, then tell it the prefix of your toolchain (avr- i guess). When you select "New C project" select Cross GCC in Toolchains listbox, then in next step enter the prefix, set path to toolchain (if not in path), etc. For this you need to install "GCC Cross Compiler Support". You do this from Help -> Install new software -> Mobile and Device development. You will probably also want at least GDB hardware debugging.
You can also try special eclipse plug-in for AVR.