"string could not resolved" error in Eclipse for C++ (Eclipse can't resolve standard library)
I've also had this issue.
I've found out that it is because Eclipse couldn't find all include headers.
Easy fix:
This simple and quick solution might fix your problem (for example, when the Eclipse project was moved to a different location on disk, then imported again in Eclipse), if not, jump to the next section (Detailed fix).
- Go to project > properties > C/C++ Build > Tool Chain Editor
- Change the Current toolchain to any other value, click Apply
- Set the Current toolchain to the original value, click Apply
- Compile your project
Detailed fix:
Before proceeding check if your toolchain is properly installed.
- Switch to a new workspace.
- Remove .cproject file and the ".settings" folder
- Import your project as Makefile project (or just create a new if you prefer CDT Build system)
- Go to project-> properties->C/C++ Build->Toolchain editor. Choose your toolchain.
- Press project->Index->Rebuild
- If the problem isn't resolved, change system language to English and try the above steps again.
Outdated answer:
This answer has been outdated. Proceed if nothing of the above helps
If the previous steps don't help we'll need to setup include directories manually (not recommended though)
- Search all unresolved headers using "Right click on Project > Index > Search for unresolved includes".
- Search their locations using "find /usr/include/ -name vector -print"
- Put include folder paths to "Right click on Project > Properties > C++ General/Path and Symbols/C++"
- Run "Right click on Project > Index > Rebuild"
- Start from step 1 if there are any unresolved symbols left.
The problem was that I needed to have both minGW and MSYS installed and added to PATH.
The problem is now fixed.
I've just replied to the related question given by Vanuan (Eclipse CDT: Unresolved inclusion of stl header), and this is my answer :
You could also try use "CDT GCC Built-in Compiler Settings". Go to the project properties > C/C++ General > Preprocessor Include Path > Providers tab then check "CDT GCC Built-in Compiler Settings" if it is not.
None of the other solutions (play with include path, etc) worked for me for the type 'string', but this one fixed it.