Makefile을 사용하여 여러 .cpp 파일 컴파일 및 링크
프로젝트 개발 시 여러 소스 파일을 관리하는 것은 번거로울 수 있습니다. Makefile은 컴파일 및 연결 프로세스를 자동화하는 효율적인 방법을 제공합니다. 이 경우 목표는 "/src" 디렉터리의 모든 ".cpp" 파일을 "/obj" 디렉터리의 ".o" 파일로 컴파일한 다음 이를 루트 폴더의 바이너리 실행 파일에 연결하는 것입니다.
Makefile 구현
이를 달성하려면 다음 내용으로 Makefile을 생성할 수 있습니다.
<code class="makefile"># Define directories SRC_DIR = src OBJ_DIR = obj # Get all .cpp files in the src directory SRC_FILES = $(wildcard ${SRC_DIR}/*.cpp) # Derive .o files from .cpp files OBJ_FILES = $(patsubst ${SRC_DIR}/%.cpp, ${OBJ_DIR}/%.o, ${SRC_FILES}) # Linker flags LDFLAGS = ... # C compiler flags CPPFLAGS = ... # C++ compiler flags CXXFLAGS = -std=c++11 -MMD -MP # Target binary main.exe: ${OBJ_FILES} g++ ${LDFLAGS} -o $@ $^ # Compile .cpp to .o in obj/ directory ${OBJ_DIR}/%.o: ${SRC_DIR}/%.cpp g++ ${CPPFLAGS} ${CXXFLAGS} -c -o $@ $< # Include automatically generated dependencies -include ${OBJ_FILES:.o=.d}</code>
설명
모범 사례
여러 ".cpp" 파일을 컴파일하고 연결하는 이 접근 방식은 일반적으로 사용되며 표준 관행을 따릅니다. Makefile을 통해 소스 파일을 관리하는 유연성을 제공하는 동시에 효율적인 컴파일 및 링크를 보장합니다.
위 내용은 Makefile을 사용하여 프로젝트에서 여러 .cpp 파일을 어떻게 컴파일하고 링크할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!