complie 문제가 생기는데 기초적인 부분입니다.

seqseq의 이미지

컴파일 할때 문제 생겼습니다. 아니 제가 컴파일 을 못하겠어요.
헐...

a.c : (main)이 있는 함수 입니다.
b.c : 서브루틴이 있는 함수입니다.
b.h 서브루틴을 선언한 헤더파일입니다.

a.c

#include "b.h"
main()
{
   sub();
}

b.c

void sub()
{

}

b.h
void sub();

대충 이모양 이구요.

이걸 컴파일 할라구 하는데 다음 과 같은 메시지가 뜨네요.

아래 코드는 make 파일 이구요

CC = gcc
EXEC = ex
OBJS = a.o  b.o
INCL = b.h
LIBS = -lm

$(EXEC): $(OBJS)
        $(CC) $(OBJS) $(LIBS)  -o $(EXEC) $(INCL)
clean:
        rm -rf *.o

그래서 아래와 같은 에러가 나타납니다.compilation of header file requested

메이크 화일도 잘못된거 같기도 하고
그렇다고

gcc -o ex_rsa rsa_test.c common.c -lcrypto이렇게 해봤더니 해당 루틴 없다고 하고.

gcc -o ex_rsa rsa_test.c common.c -lcrypto b.h라고 하면 메이크 할때랑 똑같은 메시지 뜨고..

여태껏 컴파일 잘되는 메이크 화일만 가지구 놀다가

商Ⅷ?하려니..

이거 컴파일도 안되고 ... 미치겠네여.

저 초보 아닌데...
왜 이런것도 모르는지 .. 아 정말 스스로에게 실망입니다.

헐.

기초가 탄탄한 고수님들 좀 도와주세요.

7339989b62a014c4ce6e31b3540bc7b5f06455024f22753f6235c935e8e5의 이미지

$(INCL)을 빼시면 될겁니다.