cpp화일 make시 Makefile에서 -I옵션 에러![긴급]
test.cpp화일을 make시 다음과 같은 에러가 남니다. 이유가 무언인지? 및 해결 방법은 무엇인지?
[rcn95@dmb test]$ make
g++ -c -o test.o test.cpp
test.cpp:2:21: mytypes.h: 그런 파일이나 디렉토리가 없음
make: *** [test.o] 오류 1
하지만 test.cpp의 #include "mytypes.h"부분을 주석으로 막고 돌리면 정상입니다.
[rcn95@dmb test]$ make
g++ -c -o test.o test.cpp
gcc -Wall -I./include -g test.o -o ../../bin/hello.exe
rm *.o
현재 소스및 헤더화일 디렉토리 구성은 다음과 같습니다.
[rcn95@dmb test]$ ls
Makefile include test.cpp
[rcn95@dmb include]$ ls
mytypes.h
********Makefile************
.SUFFIXES = .cpp .o
OBJECTS = test.o\
SRCS = $(OBJECTS:.o=.cpp)
CC = gcc
INCDIR = -I./include
CFLAGS = -Wall $(INCDIR)
LIBES =
LINKOPT =
PROG = ../../bin/hello.exe
$(PROG) : $(OBJECTS)
$(CC) $(CFLAGS) -g $(OBJECTS) $(LIBES) $(LINKOPT) -o $(PROG)
rm *.o
clean :
rm $(PROG) core
**************************************************
********test.cpp*********
#include<stdio.h>
#include "mytypes.h"
int main() {
//mydata_t mydata;
//mydata.a=10;
printf("hello\n");
return 0;
}
***********************
********mytypes.h********
typedef struct {
int a;
} mydata_t;
************************
Re: cpp화일 make시 Makefile에서 -I옵션 에러![긴급]
Makefile에서 test.o 를 컴파일 하는 부분에 대한 언급이 없으니 그렇습니다.
아마 자동으로 cpp 를 컴파일하는데 필요한 사항을 동원해 컴파일 하겠지만 문제는 g++ 로 컴파일 할 때로 -I./include 가 있어야 하는데 자동으로 되는데서 그걸 설정 안 해주니 그렇게 되겠죠.
test.o 를 생성하는 부분도 Makefile에 넣고, 컴파일 할 때 -I./include 옵션이 들어가도록 명시하십시요.
SOrCErEr
[질문]수정해야하는 부분을 부탁드립니다.
앞에있는 Makefile에서 어떻게 수정해야하는지 잘모르겠습니다.
귀찮으시겠지만 수정된 Makefile부탁드립니다.
댓글 달기