>백엔드 개발 >C++ >단일 소스 파일 프로젝트를 위한 간단한 C Makefile을 만드는 방법은 무엇입니까?

단일 소스 파일 프로젝트를 위한 간단한 C Makefile을 만드는 방법은 무엇입니까?

DDD
DDD원래의
2024-12-17 16:20:09883검색

How to Create a Simple C   Makefile for a Single Source File Project?

간단한 C Makefile을 만드는 방법

간단한 C 프로젝트용 Makefile 만들기

문제:

  • 필요 다른 위치("/user/cse232/Examples/example32.sequence.cpp")에서 클래스를 가져오는 단일 C 파일(a3driver.cpp)로 구성된 프로젝트를 컴파일하기 위해 Makefile을 생성합니다.

정답:

만들기 Makefile:

  1. Makefile 파일을 만듭니다.
  2. 변수 지정:

    • CC: C 컴파일러(예: gcc)
    • CXX: C 컴파일러(예: g )
    • RM: 파일 제거 명령(예: rm -f)
    • CPPFLAGS: 컴파일 플래그(예: - g)
    • LDFLAGS: 링커 플래그(예: -g 디버깅용)
    • LDLIBS: 링크할 라이브러리(이 경우 비어 있음)
  3. 소스 및 개체 파일 정의:

    • SRCS: C 소스 목록 files
    • OBJS: 해당 객체 파일 목록(대체를 사용하여 생성됨)
  4. 대상 정의:

    • all: 기본 대상, 기본적으로 실행 파일 빌드
    • 도구: 실행 파일 이름
  5. 종속성 지정:

    • 실행 파일과 개체 파일에 대한 종속성을 지정합니다(앞으로는 필요하지 않음). 내장 사용 규칙)
  6. 내장 규칙 사용:

    • Makefile은 정의된 변수와 목표 종속성
  7. 청소 대상:

    • clean: 개체 파일 제거
    • distclean: 생성된 모든 파일 제거 files

Makefile 예:

CC=gcc
CXX=g++
RM=rm -f
CPPFLAGS=-g
LDFLAGS=-g
LDLIBS=

SRCS=a3driver.cpp
OBJS=$(subst .cpp,.o,$(SRCS))

all: tool

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

clean:
    $(RM) $(OBJS)

distclean: clean
    $(RM) tool

Makefile 실행:

  • 터미널이나 명령을 엽니다. 프롬프트.
  • Makefile이 있는 디렉터리로 이동합니다.
  • "make"를 입력하여 프로젝트를 빌드합니다.
  • 이렇게 하면 "tool" 실행 파일이 생성됩니다. 빌드가 성공했습니다.

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

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