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
[64627] 덕분에 해결되었습니다. 감사 합니다. ^^ (내용무)
뽀뽀중 [kissjung] 793 읽음    2011-06-16 13:51
송신영 님이 쓰신 글 :
: 의외로 이런 실수를 하시는 분들이 많네요..
: 해더파일에 변수(클래스의 인스턴스)를 선언하게 되면
: 해당 해더를 include할 때마다 선언이 중복적으로 되기 때문에 문제가 발생됩니다.
: 문제가 되는 것은 아래 선언부 때문입니다.
:
: list<Civil3DLogData_h>Civil3DLogDataList; // STL list 에 요소별 입력된것
: Civil3DLogData_h Civil3DLogDataInput; // STL list 에 요소별로 입력할 자료단위 
:
: 글로벌로 사용하고자 한다면, 선언은 cpp 에서 한곳에서만 하고
: 해더파일에는 extern으로 선언하여 사용하면 됩니다.
:
: Main.h
: extern Civil3DLogData_h * Civil3DLogDataInput;
:
: Main.cpp
: Civil3DLogData_h *Civil3DLogDataInput;
: Civil3DLogDataInput = new Civil3DLogData_h;
:
: 이런 식으로....
:
: 뽀뽀중 님이 쓰신 글 :
: : 전역 변수, 클래스 를 하나의 헤더 화일에 작성 하였습니다.
: :
: : 그리고 이 헤더 화일을 각각의 화일에서 #include 했는데,
: :
: : Class 화일 중복이 발생했다는 경고가 발생 합니다.
: :
: : 어떻게 해결 해야 하나요??
: :
: : 코드 작성은 아래와 같이 했습니다.
: :
: :
: : Main.h  화일
: :
: :
: : class Civil3DLogData_h {
: : 	// Civil 3D 로그 class
: : 
: : public:
: : 	AnsiString AsAddChainLength; // 정체인, 추가체인
: : 	AnsiString AsCrossSectionEa; // 타점갯수
: : 	vectorPointX; // X좌표
: : 	vectorPointZ; // Y좌표
: : 	int IntTotalCivil3dRowEa; // 전체갯수
: : 
: : private:
: : 
: : };
: : 
: : // Civil3DLogData 데이터 입력 list
: : listCivil3DLogDataList; // STL list 에 요소별 입력된것
: : Civil3DLogData_h Civil3DLogDataInput; // STL list 에 요소별로 입력할 자료단위
: : 

: :
: :
: : 그리고 다른 헤더 화일에서는
: :
: : Survey.h 헤더화일
: :
: :
: : #ifndef SurveyH
: : #define SurveyH
: : 
: : #include "Main.h"
: : 
: : #endif
: : 

: :
: : 이런 방식으로 여러 헤더 화일에서, Main.h 헤더 화일을 #include 하였습니다.
: :
: :
: : 경고는 Main.h 화일을 include 한 각각의 헤더 화일 마다 경고가 발생합니다.
: : 이는 class 가 중복되어서 발생하는것 같은데, 어떻게 수정을 해야 하나요???
: :
: : 아래는 경고 메세지 입니다.
: :
: : Checking project dependencies...
: : Compiling WaterGRID.cbproj (Release configuration)
: : [BCC32 Warning] Main.h(186): W8058 Cannot create pre-compiled header: initialized data in header
: : [ILINK32 Warning] Warning: Public symbol '_HecRasDataList' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\MAIN.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\DXFWRITE.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_HecRasDataList' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\MAIN.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\SURVEY.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_HecRasDataList' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\MAIN.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\HECRAS.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_HecRasDataInput' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\MAIN.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\DXFWRITE.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_HecRasDataInput' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\MAIN.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\SURVEY.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_HecRasDataInput' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\MAIN.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\HECRAS.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_HecRasSaveDataList' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\MAIN.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\DXFWRITE.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_HecRasSaveDataList' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\MAIN.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\SURVEY.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_HecRasSaveDataList' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\MAIN.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\HECRAS.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_HecRasSaveDataOutput' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\MAIN.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\DXFWRITE.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_HecRasSaveDataOutput' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\MAIN.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\SURVEY.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_HecRasSaveDataOutput' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\MAIN.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\HECRAS.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_Civil3DLogDataList' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\MAIN.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\DXFWRITE.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_Civil3DLogDataList' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\MAIN.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\SURVEY.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_Civil3DLogDataList' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\MAIN.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\HECRAS.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_Civil3DLogDataInput' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\MAIN.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\DXFWRITE.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_Civil3DLogDataInput' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\MAIN.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\SURVEY.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_Civil3DLogDataInput' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\MAIN.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\HECRAS.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_DataList' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\MAIN.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\DXFWRITE.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_DataList' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\MAIN.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\SURVEY.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_DataList' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\MAIN.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\HECRAS.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_SurveyDataInput' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\MAIN.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\DXFWRITE.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_SurveyDataInput' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\MAIN.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\SURVEY.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_SurveyDataInput' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\MAIN.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\HECRAS.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_HecRasDataList' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\DXFWRITE.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\SURVEY.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_HecRasDataList' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\DXFWRITE.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\HECRAS.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_HecRasDataInput' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\DXFWRITE.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\SURVEY.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_HecRasDataInput' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\DXFWRITE.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\HECRAS.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_HecRasSaveDataList' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\DXFWRITE.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\SURVEY.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_HecRasSaveDataList' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\DXFWRITE.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\HECRAS.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_HecRasSaveDataOutput' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\DXFWRITE.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\SURVEY.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_HecRasSaveDataOutput' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\DXFWRITE.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\HECRAS.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_Civil3DLogDataList' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\DXFWRITE.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\SURVEY.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_Civil3DLogDataList' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\DXFWRITE.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\HECRAS.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_Civil3DLogDataInput' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\DXFWRITE.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\SURVEY.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_Civil3DLogDataInput' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\DXFWRITE.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\HECRAS.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_DataList' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\DXFWRITE.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\SURVEY.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_DataList' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\DXFWRITE.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\HECRAS.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_SurveyDataInput' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\DXFWRITE.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\SURVEY.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_SurveyDataInput' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\DXFWRITE.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\HECRAS.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_HecRasDataList' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\SURVEY.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\HECRAS.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_HecRasDataInput' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\SURVEY.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\HECRAS.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_HecRasSaveDataList' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\SURVEY.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\HECRAS.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_HecRasSaveDataOutput' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\SURVEY.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\HECRAS.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_Civil3DLogDataList' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\SURVEY.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\HECRAS.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_Civil3DLogDataInput' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\SURVEY.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\HECRAS.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_DataList' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\SURVEY.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\HECRAS.OBJ
: : [ILINK32 Warning] Warning: Public symbol '_SurveyDataInput' defined in both module C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\SURVEY.OBJ and C:\USERS\KISSJUNG\DOCUMENTS\RAD STUDIO\PROJECTS\WATERGRID\RELEASE\HECRAS.OBJ
: : Success
: : Elapsed time: 00:00:47.5

+ -

관련 글 리스트
64625 공통 헤더화일을 사용 하sl, Class 가 중복이 되어 경고가 발생하는데, 어떻게 해결 하나요?? 뽀뽀중 978 2011/06/16
64626     Re:공통 헤더화일을 사용 하sl, Class 가 중복이 되어 경고가 발생하는데, 어떻게 해결 하나요?? 송신영 885 2011/06/16
64627         덕분에 해결되었습니다. 감사 합니다. ^^ (내용무) 뽀뽀중 793 2011/06/16
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.