0
헤더 1시 "형식의 이름을하지 않는다"fml32.h컴파일 에러 코드를 컴파일
#ifndef TMENV_H
#include <tmenv.h>
#endif
_TMIFML32 extern char *Femsgs32[];
헤더 2 :
#ifndef TMENV_H
#define TMENV_H 1
#define _TMIFML32
#endif
tmenv.h "fml32.h"를 포함하는 .cpp 파일을 컴파일하려고합니다. 그것은 말 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 '안의 헤더 가드입니다. 매크로가 테스트되어야하는 유일한 곳 (매크로)을 주석으로 처리하는 대신, (f)'fml32.h'에서 매크로를 제거하고 (b)'#error This better puke ' * 내부 * tmenv.h의 헤더 가드 (header guard). 그렇지 않다면 다른 누군가가 이미 매크로를 정의했거나 그 헤더가 여러분이 소비하고있는 매크로가 아닙니다. – WhozCraig