|
h (헤더) 파일에는 가급적 실제 객체 선언이 되면 안됩니다.
ComPort.h 에는
extern int Command;
이라고 고치시고,
Comport.c 등에서
int Command; 로 선언하세요.
프로그램 초짜 님이 쓰신 글 :
: 다른 변수는 전혀없구요 Main 쪽에는 Command가 선언 되어있지 않습니다.
:
: Comport 쪽에서 변수를 Command1로 바꾸었으나 같은 증상입니다.
:
: 아마 인클루드할때 여러번 인클루드 되어서 그런거라는거 까진 알겟는데 해결을 못하고있습니다.
:
: 도움 부탁드립니다.
:
: 이길남.HoPe 님이 쓰신 글 :
: : Main 파일하고, Comport 파일에 Command 선언자가 둘다 포함되어 있다고 합니다.
: :
: : 변수 이름을 변경하여 보십시요. ^^;;
: :
: : 프로그램 초짜 님이 쓰신 글 :
: : : 프로그램을 하시느라 다들 고생 많으십니다.
: : :
: : : 6.0 기반이구요
: : :
: : : 기본 폼 하나에 폼 하나를 추가로 만들었습니다.
: : :
: : : Main 과 comport라고 명명 했습니다.
: : :
: : : comport에 헤더는
: : :
: : : //---------------------------------------------------------------------------
: : :
: : : #ifndef ComPortH
: : : #define ComPortH
: : : //---------------------------------------------------------------------------
: : : #include <Classes.hpp>
: : : #include <Controls.hpp>
: : : #include <StdCtrls.hpp>
: : : #include <Forms.hpp>
: : : //---------------------------------------------------------------------------
: : : class TSetup : public TForm
: : : {
: : : __published: // IDE-managed Components
: : : private: // User declarations
: : : public: // User declarations
: : : __fastcall TSetup(TComponent* Owner);
: : : };
: : :
: : : int Command; //<<< 추가 하였습니다.
: : :
: : : //---------------------------------------------------------------------------
: : : extern PACKAGE TSetup *Setup;
: : : //---------------------------------------------------------------------------
: : : #endif
: : :
: : : 그러고 나서
: : :
: : : 다른 작업없이
: : : //---------------------------------------------------------------------------
: : :
: : : #include <vcl.h>
: : : #pragma hdrstop
: : :
: : : #include "fMain.h"
: : : #include "ComPort.h" //<<<<<이부분입니다.
: : : //---------------------------------------------------------------------------
: : : #pragma package(smart_init)
: : : #pragma resource "*.dfm"
: : : TMain *Main;
: : : //---------------------------------------------------------------------------
: : : __fastcall TMain::TMain(TComponent* Owner)
: : : : TForm(Owner)
: : : {
: : : }
: : : //---------------------------------------------------------------------------
: : :
: : : 위와 같이 fMain.cpp에 추가 기입하였습니다.
: : :
: : : 그러고나서
: : : [Linker Warning] Public symbol '_Command' defined in both module D:\TESTCLASS\FMAIN.OBJ and D:\TESTCLASS\COMPORT.OBJ
: : :
: : : 에러 입니다.
: : :
: : : 무엇이 문제인지 도움 부탁드립니다.
: : :
: : : 가장 기본적인거이긴한데
: : :
: : : 저의 개념으로 헤더에 선언 cpp에서 인클루드...
: : :
: : : 하면 끝인데... ㅜㅜ
: : :
: : : 창피한일인건 알지만 알몸으로 덤벼 봅니다. 따끔한 조언 부탁합니다.
|