Witam, piszę kod w czystym C. Mam projekt składający się z kilku plików:
abc.c:
#define TBufferData unsigned char
#include "bufor.h"
// reszta kodu...
bufor.h
#ifndef __BUFOR_H
#define __BUFOR_H
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#ifndef TBufferData
#warning TBufferData nie zdefiniowane! Automatycznie zostalo ustawione na int
#define TBufferData int
#endif
// reszta kodu
i chodzi o to że w trakcie kompilacji dostaje warninga:
#warning TBufferData nie zdefiniowane! Automatycznie zostalo ustawione na int
a ten z kolei nie powinien się pojawić. w opcjach kompilatora próbowałem zmieniać priorytety kompilacji tak aby abc.c kompilował się jako pierwszy, jednak to nic nie zmieniło.
I teraz pytanie: Dlaczego w tym pliku nie widać tego define'a?
EDIT:
Znalazłem rozwiązanie, które w pełni mnie nie satysfakcjonuje, ale działa. Define ustawiłem w opcjach kompilatora:
"TBufferData=unsigned char"
jednak teraz, żeby zobaczyć tego defina musze otworzyć opcje kompilatora albo zrobić sobie komentarz na górze kodu, że taki define istnieje.