Eclipse 3.7.1 CDT 1.4.1 GCC 4.6.2
This is an example of a piece of C++11 code:
auto text = std::unique_ptr<char[]>(new char[len]);
The Eclipse editor complains about:
Function 'unique_ptr' could not be resolved
The Makefile compilation works fine. How to make Eclipse stop complaining about these sort of errors?
For me on Eclipse Neon I followed Trismegistos answer here above , YET I also added an additional step:
Hit apply and OK.
Cheers,
Guy.
Instruction For Eclipse CDT 4.4 Luna and 4.5 Mars
First, before creating project, configure Eclipse syntax parser:
Window
->Preferences
->C/C++
->Build
->Settings
->Discovery
->CDT GCC Build-in Compiler Settings
in the text box entitled
Command to get compiler specs
append-std=c++11
Now you can create project, configuration depends on what kind of project you created:
For project created as: File -> New -> Project -> C/C++ -> C++ Project
Right click on created project and open
Properties
->C/C++ Build
->Settings
->Tool Settings
->GCC C++ Compiler
->Dialect
Put
-std=c++11
into text box entitledother dialect flags
or selectISO C++11
from theLanguage standard
drop down.For CMake project
Generate eclipse project files (inside your project)
Then import generated directory to eclipse as standard eclipse project. Right click project and open
Properties
->C/C++ General
->Preprocessor Include Paths, Marcos etc.
->Providers
enable
CDT GCC Build-in Compiler Settings
and move it higher thanContributed PathEntry Containers
(This is important)Last Common Step
recompile, regenerate
Project
->C/C++ Index
and restart Eclipse.Eclipse C/C++ does not recognize the symbol
std::unique_ptr
even though you have included the C++11 memory header in your file.Assuming you are using the GNU C++ compiler, this is what I did to fix:
Project -> Properties -> C/C++ General -> Preprocessor Include Paths -> GNU C++ -> CDT User Setting Entries
Click on the "Add..." button
Select "Preprocessor Macro" from the dropdown menu
Hit Apply, and then OK to go back to your project
Then rebuild you C++ index: Projects -> C/C++ Index -> Rebuild