atmel - Issues in C with including time.h? -


i have file in massive project i'm working on called timekeeper.h (and .c)

--------------edit---------------fixed bool thing still broken though--------------

#ifndef timekeeper_h_ #define timekeeper_h_  #include <time.h> #include <stdbool.h>  bool isafter(time_t time); void settime(char seconds, char minutes, char hours, char day,         char month, char year);     void tickseconds(void); time_t getcurrenttime(void); time_t createtime(char seconds, char minutes, char hours, char day,         char month, char year); void starttime(void); time_t addseconds(int seconds, time_t time); long timeremaining(time_t time); void rtc_set(char seconds, char minutes, char hours, char days, char months,     char year);  #endif 

when attempt build project, there bunch of errors in file (and file using time.h). here's of errors in timekeeper.h:

expected ')' before 'time'        line 6 expected '"', ',', ';','asm', or '__attribute__' before 'getcurrenttime'    line 10 

i suspect timekeeper doesn't know time_t is, though has

#include <time.h> 

i getting errors like

implicit declaration of function 'localtime' 

in timekeeper.c file. , yes, timekeeper.c #includes timekeeper.h

any appreciated.

----additional information----- i'm using atmel studio 6.0 here timekeeper.c

#include "freertos.h" #include "task.h" #include "print_funcs.h"  #include "timekeeper.h" #include "telemetrylookup.h"  void timetask(void* pvparameters);  time_t time; blah blah blah...... 

----edit 2------

i added #include <stdbool.h> , changed bool bool in line 6 errors still there.

there no type bool in c. there type bool, it's visible if have #include <stdbool.h>.

when add #include <stdbool.h> , change bool bool, code compiles without error. (i had delete line numbers.)

i'd suggest picking name other time parameter isafter , other functions. time name of function declared in <time.h>. don't think causes conflict in case, unique names avoid confusion.

because bool unrecognized type name, compiler reports syntax error on

bool isafter(time_t time); 

any errors see after spurious. if syntax errors, start fixing error on earliest reported line , recompiling.

edit:

based on further comments, adding #include <stdbool.h> , changing bool bool doesn't appear have helped. , particular message you're getting seem imply time_t not recognized -- should not happening.

try simple 2-line source file (and make sure file name has .c suffix):

#include <time.h> time_t foo; 

if fails, explanation can think of compiler and/or runtime library installation corrupted somehow.

do have option view preprocessed source? if so, applying above 2-line source should show preprocessed contents of <time.h>, should include definition time_t.


Comments

Popular posts from this blog

c# - Send Image in Json : 400 Bad request -

jquery - Fancybox - apply a function to several elements -

An easy way to program an Android keyboard layout app -