У меня есть файл в этом массивном проекте, над которым я работаю, называется timeKeeper.h (и .c)Проблемы с C с включением time.h?
-------------- EDIT ------- -------- Устранена BOOL ВЕЩЬ ВСЕ ЕЩЕ ХОТЯ СЛОМЛЕННОЕ --------------
#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
Когда я пытаюсь построить мой проект, есть куча ошибок в этом файле (и любом файле, использующем time.h). Вот некоторые из ошибок в timeKeeper.h:
expected ')' before 'time' Line 6
expected '"', ',', ';','asm', or '__attribute__' before 'getCurrentTime' Line 10
Я подозреваю, что хронометрист не знает, что такое time_t, даже если он имеет
#include <time.h>
Я также получаю ошибки как
implicit declaration of function 'localtime'
в мое времяKeeper.c файл. И да, timeKeeper.C# включает timeKeeper.h
Любая помощь очень ценится.
---- ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ ----- Я использую Atmel Studio 6.0 Вот 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 ------
Я добавил #include <stdbool.h>
и изменил Bool
на bool
в строке 6, но ошибки все еще существуют.
Это возможно в зависимости от включенных включенных до включения 'tineKeeper.h'. Вы также получаете эту ошибку с минимальной тестовой программой на вашей платформе? Btw: Какова ваша платформа? – alk
Вы можете показать начало 'timeKeeper.c'up до включения' timeKeeper.h'. – alk
Когда вы отправляете код, добавление номеров строк в каждую строку не помогает; Мне нравится копировать и вставлять код и компилировать его самостоятельно. Если вам нужно обратиться к номеру строки из сообщения об ошибке, добавьте в эту строку комментарий, например '/ * line 6 * /'. –