Show more verbose compiler and linker output

13 May 2013

I'm trying to figure out why I've got an unresolved symbol. It occurs to me that a more verbose compiler and linker output might help me.

Is there any reason you don't want to show the full compiler output? (apart from simplicity)

Perhaps you could show the full output in another tab?


14 May 2013

An unresolved symbol is a linker error.

But, perhaps the "find in files" feature is useful for finding the missing symbol.

The only way i've seen to access this search feature in the online compiler: With project selected in Program Workspace, near the bottom you see "Filter: , Match Case, Whole Word, Advanced" The Advanced button brings up the "Find in files" dialog, where you can search the project for the missing symbol. Often these are spelled incorrectly or some typo.

21 May 2013

Thanks Wayne,

The advanced search is certainly useful.

I resolved my issue through trial and error in the end. The reason I wanted more verbose linker output, is because I wanted to see exactly which objects were being linked for sub-steps of the compilation process, at which point in the process, and in which order.

Sometimes, when files have lots of #ifdef and so on, it isn't so clear whether a file is actually being linked, or if there is some combination of #defines or #undefs leading to the removal of a symbol. By being able to see the linker output, I would be able to tell immediately which was the case.

In general, sometimes it is useful to see the order in which the linker provides object files to the executable because it can cause undefined symbol errors (see gcc for example). I'm not sure if that's the case with Keil , but in anycase it would be nice to see the linker and compiler outputs.