Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do you enable C++11 syntax in Eclipse Neon?

I am developing C+11 code in Eclipse Neon and noticed today that the range based for loop introduced in C+11 is highlighted red by the IDE indicating it does not recognize it.

I have found multiple links about how to do this for older versions of CDT such as this (Eclipse CDT C++11/C++0x support) You can see though there is no "Tool Settings" tab.

enter image description here

Can someone suggest how to configure my project so that C++11 syntax is correctly highlighted (I am using a separate build system)

like image 572
CPayne Avatar asked Aug 25 '16 00:08

CPayne


People also ask

How can I use C language in eclipse?

Launch Eclipse → Help → Install New Software → In "Work with" field, pull down the drop-down menu and select "Kepler - http://download.eclipse.org/releases/kepler" (or juno for Eclipse 4.2; or helios for Eclipse 3.7). In "Name" box, expand "Programming Language" node ⇒ Check "C/C++ Development Tools" ⇒ "Next" ⇒ ...

Does Eclipse support C language?

Eclipse is popular for Java project development. It also supports C/C++, PHP, Python, Perl, and other web project developments via extensible plug-ins. Eclipse is cross-platform and runs under Windows, Linux and Mac OS.


3 Answers

  1. Right click on your project and click Properties
  2. Navigate to C/C++ General and Preprocessor Include Paths, Macros etc.
  3. Select the Providers tab, click on compiler settings row for the compiler you use.
  4. Add -std=c++11 to Command to get compiler specs.
  5. Apply changes.

Will look something like this:

${COMMAND} -E -P -v -dD "${INPUTS}" -std=c++11
like image 105
Andreas DM Avatar answered Sep 25 '22 22:09

Andreas DM


You can also do the following

  1. go to project properties (alt enter)
  2. In the left pane, scroll to "C/C++ Build", collapse it, select settings.
  3. In the right pane, select and collapse your compiler under the Tool Settings menu, select"Dialect", choose your languange standard from the drop down, or enter -std=c++11 in the "other dialect flags" text input.

Alternatively,

  1. Properties --> "C/C++ Build" --> collapse and and select "Settings"
  2. Under the Tool settings tab, select your compiler, and highlight the "Miscellaneous" field.
  3. add -std=c++11 to the "Other flags" input field.
like image 41
mancini0 Avatar answered Sep 24 '22 22:09

mancini0


For reasons I do not understand, when searching for clues as to why my Eclispe Oxygen + CDT 9.3.2 running on Fedora 27 could not reliably debug my code, Google put up this question / answer as something to look at.

Basically my problem has been that a fairly simply C++ program, using C++ 11 features (specifically shared_ptr), was un-debuggable in Eclipse Oxygen 2 + CDT 9.3.2 on top of Fedora 27 (which has gdb version 8.0.1 installed from the standard package repo). Stepping into a few method calls resulted in a hung debug session, nothing going on, terminate Eclipse to recover.

If I debugged the binary using gdb on the command line, all was good; I could set break points, etc, everything worked as it should. But from inside Eclipse, nothing doing.

However, putting -std=c++11 into the project settings as shown by Andreas solved the problem. I have very little idea why. I thought I'd put this up in case someone else ran into a similar problem.

g++ is at version 7.2.1

like image 36
bazza Avatar answered Sep 27 '22 22:09

bazza