"string could not resolved" error in Eclipse for C++ (Eclipse can't resolve standard library)
I have the following code in eclipse for c++ and it's underlining string
and cout
and saying could not be resolved.
#include <string>
#include <iostream>
using namespace std;
int main()
{
string s;
s = "hello world";
cout << s;
return 0;
}
Anyone know why?
edit: screenshot
Edit: I have found a solution thanks everyone (see answers).
Solution 1:
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.
Solution 2:
The problem was that I needed to have both minGW and MSYS installed and added to PATH.
The problem is now fixed.