gcceclipse-cdt

Eclipse does not recognize types from stdint.h for ARM Windows GCC toolchain


I have Eclipse Juno for C/C++ developers installed together with GNU ARM C/C++ Development Support plug-in from http://sourceforge.net/projects/gnuarmeclipse.

In my project I am using types like uint_32t, int16_t and uint8_t than normally comes from stdint.h. While I forced the Eclipse to see the standard headers of my compiler by directly pointing the directory where the include directory lies, mentioned types are not resolved. This gives me a lot of red markings about unresolved symbols and do some problems with code completion of the functions declared with these types.

The same problem is with standard macro definitions like GNUC - normally CDT see these for GNU C or GNU C++, but with toolchain set to ARM Windows GCC it don't. Strange.

What can I do to resolve that and return the main boost Eclipse gives in productivity?


Solution

  • I think I found solution to my problem. The problem was the CDT GCC Builtin Compiler Settings provider, which tried to run the gcc instead of arm-elf-gcc. I added prefix to the field Command to get compiler specs:¹ to invoke compiler by its proper name.

    And voilà, all unresolved symbols disappeared.

    Unfortunately I broke my project by changing toolchains (never do this if you have GNU ARM Eclipse plugin installed!) but that is another story.


    ¹ - It is under: Project Properties > C/C++ General > Preprocessor Include Paths, Macros etc., the tab Providers; Share settings entries between projects (global provider) has to be disabled to edit that field.