错误:预期的声明说明符或' ...'字符串常量之前

时间:2016-04-13 18:30:45

标签: c

有人知道这段代码有什么问题吗?我无法在类似的问题中找到问题。

代码是用C语言编写的,我不断收到此错误。我确实将-D SET_MIN_TEMP=5 -D Set_MAX_TEMP=30添加到gcc编译行以确保ifndefs应为false ...

#ifndef CONFIG_H
#define CONFIG_H


#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <stdint.h>

#ifndef RUN_AVG_LENGTH
    #define RUN_AVG_LENGTH 5
#endif

#ifndef SET_MIN_TEMP
    printf("please set SET_MIN_TEMP \n");
#endif

#ifndef SET_MAX_TEMP
    printf("please set SET_MAX_TEMP \n");
#endif

typedef uint16_t sensor_id_t;
typedef uint16_t room_id_t;
typedef double sensor_value_t;
typedef time_t sensor_ts_t;     // UTC timestamp as returned by time() - notice that the size of time_t is different on 32/64 bit machine

typedef struct {
  sensor_id_t id;
  sensor_value_t value;
  sensor_ts_t ts;
} sensor_data_t;

typedef struct {
    sensor_id_t sensor_id;
    room_id_t room_id;
    double running_avg[5];
    sensor_ts_t timestamp;
} sensor_node_t;


#endif // CONFIG_H

1 个答案:

答案 0 :(得分:5)

您不能在函数外部使用函数调用(printf)。如果要在编译时报告错误,请查看#error

请参阅here