Skip to main content



      Home
Home » Language IDEs » C / C++ IDE (CDT) » Problem with symbol discovery in CDT(Discovers symbols it shouldn't, disabling only works temporarily)
Problem with symbol discovery in CDT [message #1071693] Sat, 20 July 2013 18:52 Go to next message
Eclipse UserFriend
I am using a gnu make project, with a hand written makefile.
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.
Re: Problem with symbol discovery in CDT [message #1072660 is a reply to message #1071693] Tue, 23 July 2013 04:17 Go to previous message
Eclipse UserFriend
- Open Project Properties->C/C++ General->Preprocessor..
- 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.
Previous Topic:Importing CDT Project Build Configurations
Next Topic:QtCore/QMap: No such file
Goto Forum:
  


Current Time: Tue May 20 21:29:52 EDT 2025

Powered by FUDForum. Page generated in 0.03660 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top