eclipse C project shows errors (Symbol could not be resolved) but it compiles

12,154

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

Share:
12,154
brimborium
Author by

brimborium

Updated on June 19, 2022

Comments

  • brimborium
    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: enter image description here

    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.

    enter image description here enter image description here

  • brimborium
    brimborium over 11 years
    My last comment to the question says how this answer solved my problem. Thanks again. :)
  • brimborium
    brimborium over 11 years
    @moooeeeep thought about that but I wanted to award alk for his quick and helpful help.
  • brimborium
    brimborium almost 10 years
    Thank you, that is good to know. Hopefully it gets fixed as this is quite annoying. ;)
  • brimborium
    brimborium almost 8 years
    Thanks 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
    Erdem Tuna over 3 years
    Helped to me as well. I didn't notice I redefined the enum values!