error: especificadores de statement esperados o ‘…’ antes de la constante de cadena

¿Alguien sabe qué está mal con este código? No puedo ver para encontrar el problema entre las preguntas comparables.

El código está escrito en C, y sigo recibiendo este error. Agrego -D SET_MIN_TEMP=5 -D Set_MAX_TEMP=30 a la línea de comstackción gcc para asegurarme de que los ifndefs deben ser falsos …

 #ifndef CONFIG_H #define CONFIG_H #include  #include  #include  #include  #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 

No puede utilizar una llamada de función ( printf ) fuera de una función. Debería echar un vistazo a #error si desea informar errores en la comstackción …

Ver aqui