Заголовок 1: fml32.hОшибка компиляции "Не имя типа" во время компиляции кода
#ifndef TMENV_H
#include <tmenv.h>
#endif
_TMIFML32 extern char *Femsgs32[];
Заголовок 2: tmenv.h
#ifndef TMENV_H
#define TMENV_H 1
#define _TMIFML32
#endif
Я пытаюсь скомпилировать .cpp-файл, который включает в себя «fml32.h». Он бросает ошибку от fml32.h говоря:
error: '_TMIFML32' does not name a type
TMENV_H нигде не определено. Пробовал комментировать #ifndef TMENV_H
и его endif
из заголовка 2, потому что я подозревал, что контроль не достиг #define _TMIFML32
. Но все та же ошибка. Может ли кто-нибудь помочь в этом? Было бы очень благодарно.
что вы уверены, что «TMENV_H не определено нигде»? – Ap31
Включает ли 'tmenv.h'' fml32.h'? –
Единственное место, где '#ifndef TMENV_H' принадлежит, является защитником заголовка * внутри *' tmenv.h'. И вместо того, чтобы комментировать только то место, в котором должен быть протестирован макрос (в заголовке), почему бы вам (а) не удалить его в 'fml32.h' и (b) пощекотать' #error Это лучше puke' * внутри * защита заголовка 'tmenv.h', затем скомпилировать и посмотреть, будет ли он отключен. Если это не так, то кто-то еще определил этот макрос уже, или этот заголовок не тот, который вы потребляете. – WhozCraig