C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[50152] Re:[질문] 빌드시에 중복선언되었다고 경고가 나는데;;;
장성호 [nasilso] 1449 읽음    2007-08-01 13:25
해더(*.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의  옵젝트 파일에 위의 선언이 중복선언되었다고 경고가 납니다.
: 어떻게 경고 잡는 방법 없을까요??

+ -

관련 글 리스트
50138 [질문] 빌드시에 중복선언되었다고 경고가 나는데;;; 너브 1244 2007/07/31
50152     Re:[질문] 빌드시에 중복선언되었다고 경고가 나는데;;; 장성호 1449 2007/08/01
50140     Re:[질문] 빌드시에 중복선언되었다고 경고가 나는데;;; 이정구 1265 2007/08/01
50148         Re:Re:[질문] 빌드시에 중복선언되었다고 경고가 나는데;;; 너브 1218 2007/08/01
50149             Re:Re:Re:[질문] 빌드시에 중복선언되었다고 경고가 나는데;;; 이정구 1361 2007/08/01
50139     Re:[질문] 빌드시에 중복선언되었다고 경고가 나는데;;; 아루스 1271 2007/07/31
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.