This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

INLINE function no longer compile

My PC completely bricked so I'm setting up Eclipse and GCC on a new Machine. Everything seems to work except I'm getting two odd compile errors on INLINE functions. The compile errors are:

Symbol 'app_button_evt_schedule' could not be resolved - Semantic Error Symbol 'app_timer_evt_schedule' could not be resolved - Semantic Error Symbol 'softdevice_evt_schedule' could not be resolved - Semantic Error

I've read other posts with somewhat similar issues, but none of those solutions fixed these compile errors. My workspace properly linked all all the required .h files and my project correctly includes all required paths to the SDK.

I have noticed I'm not able to find Cross ARM GCC in my toolchains, even thought I have installed all the required toolchains in nAN-29.

It is very critical that I fix this issue. I hope someone whose been through this can help. Thanks guys

-Kevin Lockwood

p.s.

  • using Eclipse Kepler
  • GNU Tools for ARM Embedded Processors version 4.8 2014q2
  • GNU_VERISON :=4.8.4
Parents
  • I faced this problem today. I discovered that once you activate compiler optimization, inline functions (like the one in PWM library) compile fine using Eclipse and the tools/tutorial provided by Nordic.

    In order to activate compiler optimization, on your makefile, CFLAGS, put or change to any one of these: -O -Og -O1 -O2 -O3

    Putting -O0 or nothing does not compile inline functions. Higher number means higher optimization. For example in my case I use -Og because if I use higher it breaks something I still have to fix, but that is another matter.

Reply
  • I faced this problem today. I discovered that once you activate compiler optimization, inline functions (like the one in PWM library) compile fine using Eclipse and the tools/tutorial provided by Nordic.

    In order to activate compiler optimization, on your makefile, CFLAGS, put or change to any one of these: -O -Og -O1 -O2 -O3

    Putting -O0 or nothing does not compile inline functions. Higher number means higher optimization. For example in my case I use -Og because if I use higher it breaks something I still have to fix, but that is another matter.

Children
No Data
Related