>백엔드 개발 >C++ >컴파일 및 링크를 위한 간단한 C Makefile을 만드는 방법은 무엇입니까?

컴파일 및 링크를 위한 간단한 C Makefile을 만드는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-24 14:05:10832검색

How to Create a Simple C   Makefile for Compilation and Linking?

간편한 C Makefile 만드는 방법

소개

C 프로젝트를 컴파일하고 실행하기 위해서는 Makefile 생성이 필요합니다. 이 문서에서는 Make에 대한 소개와 간단한 Makefile 생성에 대한 단계별 가이드를 제공합니다.

Make 이해

Make는 명령이 필요한 순서를 조정하는 빌드 종속성 관리자입니다. C 소스 파일을 컴파일하고 실행 파일로 링크하기 위해 실행됩니다.

Makefile 설정

이 예에서는 다음과 같이 가정합니다. a3driver.cpp라는 단일 C 파일과 /user/cse232/Examples/example32.sequence.cpp에 가져온 클래스가 있습니다.

Makefile의 빌딩 블록

변수: Make 변수를 사용하면 컴파일러 플래그 및 라이브러리와 같은 정보를 저장할 수 있습니다. 예:

CPPFLAGS=-g -pthread -I/sw/include/root

대상 및 종속성 줄: 대상 줄은 생성할 출력을 지정하고, 종속성 줄은 대상을 생성하는 데 필요한 파일을 나열합니다. 예:

tool: tool.o support.o
    g++ $(LDFLAGS) -o tool tool.o support.o $(LDLIBS)

tool.o: tool.cc support.hh
    g++ $(CPPFLAGS) -c tool.cc

샘플 Makefile

다음은 특정 요구 사항에 대한 간단한 Makefile입니다.

CPPFLAGS=-g
LDFLAGS=-g
LDLIBS=-L/usr/lib/-llua5.2
SRCS=a3driver.cpp /user/cse232/Examples/example32.sequence.cpp
OBJS=$(SRCS:.cpp=.o)

all: a3driver

a3driver: $(OBJS)
    $(CXX) $(LDFLAGS) -o a3driver $(OBJS) $(LDLIBS)

.PHONY: clean
clean:
    rm -f $(OBJS) a3driver

설명

  • CPPFLAGS 및 LDFLAGS는 필요한 컴파일 및 링크를 설정합니다. flags.
  • SRCS는 소스 파일을 정의하고, OBJS는 해당 개체 파일을 생성합니다.
  • all이 기본 대상이고, a3driver가 실행 파일입니다.
  • Clean 대상이 제거됩니다. 개체 파일 및 실행 파일.

결론

이 샘플 Makefile 지정된 외부 클래스를 사용하여 C 프로젝트를 컴파일하고 실행할 수 있어야 합니다. Makefile은 사용자 정의가 가능하므로 필요에 따라 자유롭게 확장하고 수정할 수 있습니다.

위 내용은 컴파일 및 링크를 위한 간단한 C Makefile을 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.