Eclipse Community Forums - RDF feed
https://www.eclipse.org/forums/
Eclipse Community ForumsProblem with symbol discovery in CDT
https://www.eclipse.org/forums/index.php/mv/msg/492996/1071693/#msg_1071693
Basically, the symbol discovery is very broken, while the path discovery works nicely, and there's no way to disable the symbol discovery without disabling the path discovery it seems.
The symbol discovery keeps picking up a symbol that is entered by hand in the makefile, where I run the compiler with a specific symbol to dump a memory map to file.
Line looks like $(CC) $(CFLAGS) -D__NOSTRUCTS -O realtimemap.o realtime.c
and realtimemap.o is not linked in the final process, it's just used for building a memory map of struct members.
Meanwhile, Eclipse thinks __NOSTRUCTS always applies, and any attempts to disable that flag from the list of discovered symbols only works until the list is generated again.
This colours every single source file red in the header and creates red markers for a whole bunch of lines in every single one.
Can anyone point me to a better way to generate an addressed list of the members of a struct in C, than to compile the source file that contains nothing but the struct into a binary, but without the struct around the members?
Failing that, I'd like a way to either disable the symbol discovery or filter out symbols that I want Eclipse to not know about.]]>Baldur Gislason2013-07-20T22:52:00-00:00Re: Problem with symbol discovery in CDT
https://www.eclipse.org/forums/index.php/mv/msg/492996/1072660/#msg_1072660
- In the tab "Providers" enable "CDT User Settings".
- switch to the tab "Entries" and select "CDT User Settings" for GNU C language and then click Add..
- here you can add a preprocessor macro
- unfortunately, there is no way to undef an existing symbol (as far as I know); you can only change the value
Another possibility: How do you build? Do you use make targets? If yes, then you can disable the project builders in the make target for your memory map.
If all fails you can disable in Properties->C/C++ General->Preprocessor..Providers the "GCC build output parser" completely.]]>Axel Mueller2013-07-23T08:17:17-00:00