このコードは何が間違っているのですか?私は匹敵する質問の中で問題を見つけることができません。エラー:文字列定数の前に予期される宣言指定子または '...'
コードはCで書かれており、このエラーが発生しています。あなたならば、私はあなたが関数の外部関数呼び出し(printf
)を使用することはできません... ifndefsが偽であるべきことを確認するためにgccのコンパイル行に
#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
を参照してください。 – Barmar
どのラインでエラーが発生していますか?なぜトップレベルに 'printf()'行があるのですか? – Barmar
マクロが定義されていないときにコンパイル時にエラーが発生した場合、 '#error'を使います。 – Barmar