eclipse C project shows errors (Symbol could not be resolved) but it compiles
Solution 1
It looks as if Eclipse (not gcc) is setup to parse the wrong or some additonally, propably outdated (include) source files.
Solution 2
This is quite an old question, but I hope this short answer can be useful to someone.
I was having similar errors with enums in the IDE but not when compiling, which seemed to indicate a bug in Eclipse's Codan. After upgrading to the new version of Eclipse (Neon 4.6) released in June, the errors have disappeared. Just try updating Eclipse!
Solution 3
Since I got a suggestion from moooeeeep, I will post the solution here. I am still accepting alk's answer, because he was the one that showed me towards the right direction.
My solution:
If I click on AM
in eclipse (the one that is underlined with red) and press F3
to go to the declaration, it actually asked me to which declaration I want to go. It listed the (correct) enum constant as well as some variable from somewhere else. Therefore the problem was that multiple declarations of AM
were present in different code locations.
I fixed this problem by just renaming the enum
constant to something else (AN
in my case). There is no variable with the same name in the code and therefore eclipse was able to refactor it correctly.
Solution 4
There is a bug report added in Eclipse CDT Bugzilla with regard to this problem: https://bugs.eclipse.org/bugs/show_bug.cgi?id=439553
brimborium
Updated on June 19, 2022Comments
-
brimborium almost 2 years
I have got access to a C project at work that I have to implement some stuff in. I was able to load it into eclipse and can
Project -> Build All
it. Compilation shows no errors or warnings. But in eclipse, there are a lot of errors shown. One example:
There is an enum
typedef enum MeasurementType { PN, BB, AM, RES } MEAS_TYPE; MEAS_TYPE type;
in one of the files. It is used somewhere else and produces an error like this:
It is most interesting, that only
AM
seems to be a problem, notPN
orBB
.
I haven't found a satisfying solution to this. I already tried to include all possible directories I could think of in
Project Properties -> C/C++ General -> Paths and Symbols
(like this post suggests), but that didn't help.The project itself is compiled with Makefiles (which is why I need
Project -> Build All
). Can it be that eclipse does not interpret those Makefiles correctly or something? I am a bit lost after messing around with that stuff for a few hours and not getting a single step forward.EDIT: Here are some screenshots for my build-relevant project properties (at least I believe they are relevent :D). Tell me if you need more information.
-
brimborium over 11 yearsMy last comment to the question says how this answer solved my problem. Thanks again. :)
-
brimborium over 11 years@moooeeeep thought about that but I wanted to award alk for his quick and helpful help.
-
brimborium almost 10 yearsThank you, that is good to know. Hopefully it gets fixed as this is quite annoying. ;)
-
brimborium almost 8 yearsThanks for the answer. I ended up switching to a different IDE for that project. But I will try with Eclipse Neon again. I would much rather work with Eclipse. :)
-
Erdem Tuna over 3 yearsHelped to me as well. I didn't notice I redefined the enum values!