Makefile 만드는 도중에..
글쓴이: stypr / 작성시간: 수, 2005/01/26 - 3:08오후
환경 :: 솔라리스 7 x86
Makefile 내용 CC = gcc all: Tserver Tserver: main.c send.o $(CC) -o Tserver main.c send.o send.o: send.c total.h $(CC) -c send.c
두개의 파일이 있는데요.. total.h send.c ( send_file() 함수 하나 ) main.c (main() abcd() ... abcd 함수에서 send_file() 함수 호출) 이 두 파일 모두 total.h 헤더 include 뮤텍스를 두 파일(main.c, send.c)에서 다 쓰는데...
아래 선언을 어디다 해줘야 할까요??
pthread_mutex_t mymutex=PTHREAD_MUTEX_INITIALIZER;
send.c 에만 넣으면 main에서 선언안했다고 에러 뜨고
main.c 에만 선언했더니 send.c에서 선언 안됐다고 에러 뜨고
total.h에 넣으니..아래 에러 뜨고
ld: fatal: symbol `mymutex' is multiply-defined: (file /var/tmp/ccff4goZ.o type=OBJT; file /var/tmp/ccF3fIN6.o type=OBJT);
Forums:
아무데나 .c 파일 한군데 넣어주시고 다른데에다가는 extern 으로 선
아무데나 .c 파일 한군데 넣어주시고 다른데에다가는 extern 으로 선언해 주심 될텐데요.. 8)
더 이상 없다.
main.c send.c 두 파일중 한곳에서 선언해 주고다른 한 파일
main.c send.c 두 파일중 한곳에서 선언해 주고
다른 한 파일에서는 extern 으로 선언해 주시면 될듯 한데요.
그리고 질문하신 내용은 Makefile과는 전혀 무관한 내용 같습니다만...
그래도 안되는데...요
extern pthread_mutex_t mymutex;
이런 에러가
-_-;
Makefile -_-;; 질문하다 보니 -_-;; 제목을 그렇게 적었네요 ㅡ;
[/code]
댓글 달기