|
해더(*.h) 파일에서 변수를 선언하고
그 해더(*.h)파일을 다른해더(*.h)에서 include하면 중복선언이 됩니다
예를들어
unit_1.h 에서
char cTemp;
이렇게 되어있구
unit_2.h 에서
include "unit_1.h"
이렇게 되어있으면 중복선언이 됩니다.
해결방법은?
[방법 1]
변수가 선언된 해더(*.h)파일을 cpp파일에서 include해서 사용합니다.
unit_2.cpp에서
#include "unit_1.h"
[방법2]
변수를 header에 선언하지 않고 cpp에서 선언하는 방법이 있습니다.
unit_1.cpp
char cTemp;
unit_1.h
extern char cTemp;
unit_2.h
#include "unit_1.h"
기타....
너브 님이 쓰신 글 :
: 안녕하세요...^^
: 이번에 시리얼로 프로그램을 하나 짜면서
: 2개의 헤더파일을 정의 했습니다.
: 그리고 2개의 폼에서 위의 2개의 헤더파일의 정의 부분을 사용하는데
: 빌드시에 중복선언되었다고 경고가 나네요.
: 어떻게 해야 되나요???
:
: 예>
: melservo1.h........
:
: #ifndef melservo1h
: #define melsevo1h
: int char dev_no[32] = { 0x30,0x31,0x32.......
: ..
: #enfif
:
:
: 이렇게 선어되었고
: 폼1과 폼2에서 위의 헤드파일을 인클루드하고 사용합니다.
: 컴파일시에는 경고가 없습니다. 그러나...
: 빌드시에 폼1과 폼2의 옵젝트 파일에 위의 선언이 중복선언되었다고 경고가 납니다.
: 어떻게 경고 잡는 방법 없을까요??
|