실행환경은 간단히 윈2k의 콘솔이구요..
컴퓨터그래픽 숙제때문에 도스용 볼랜드C++에서 BGI를 이용해서 프로그래밍을 하고 있거든요.
근데 멀티소스컴파일에는 경험이 없어서 막히네요
프로젝트에는 a.h a.c test.c 이렇게 두개의 c 소스와 하나의 헤더파일이 있습니다
-a.c에는 Cls_Graphics()와 Init_Graphics()라는 함수의 구현부가 있습니다
-a.h에는 위 두함수의 프로토타입을 선언했구요
-a.h는 a.c와 test.c에 둘다 include됩니다.
-a.h에는 아래와 같이
#ifndef A_H_
#define A_H_
#endif
매크로가드를 해주었구요
그런데 며칠동안 절 괴롭힌 에러가 나는데요
에러는..
Error: _Cls_Graphics defined in module a.c is duplicated in module
a.c
Error: _Init_Graphics defined in module a.c is duplicated in module
a.c
입니다
말 그대로라면 함수가 a.c에 중복해서 정의되어있다는 것인데 당연히 함수 정의는 한번만 했구요
물론 a.h에도 프로토타입만 있지 구현은 안했구요.. test.c에서는 사용만 할뿐 선언과 정의는 당연히 없구요
ide에서 컴파일 했다. bcc로 했다, a.c에 프로토타입 넣다 뺏다. extern 넣다 뺏다 해도 안되네요
차라리 바보같이 두번 정의한 것이었으면 좋겠다고 생각할 정도로..
혹시 질문내용이 모호한지는 모르겠습니다만 답변및 지도부탁합니다
|