cpp화일 make시 Makefile에서 -I옵션 에러![긴급]

rcngiant95의 이미지

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;
************************

sorcerer의 이미지

rcngiant95 wrote:

********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

Makefile에서 test.o 를 컴파일 하는 부분에 대한 언급이 없으니 그렇습니다.
아마 자동으로 cpp 를 컴파일하는데 필요한 사항을 동원해 컴파일 하겠지만 문제는 g++ 로 컴파일 할 때로 -I./include 가 있어야 하는데 자동으로 되는데서 그걸 설정 안 해주니 그렇게 되겠죠.
test.o 를 생성하는 부분도 Makefile에 넣고, 컴파일 할 때 -I./include 옵션이 들어가도록 명시하십시요.

SOrCErEr

rcngiant95의 이미지

앞에있는 Makefile에서 어떻게 수정해야하는지 잘모르겠습니다.
귀찮으시겠지만 수정된 Makefile부탁드립니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.