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, not PN
or BB
.
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.
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.
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!
It looks as if Eclipse (not gcc) is setup to parse the wrong or some additonally, propably outdated (include) source files.
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With