Makefiles에서 파일 컴파일 및 링크
질문에 언급된 작업은 여러 .cpp 파일을 .o 개체 파일로 컴파일한 다음 이어서 이 파일을 실행 가능한 바이너리로 링크합니다. Makefile을 사용하여 이를 수행하는 방법은 다음과 같습니다.
Makefile 구성
SRC_DIR = ./src OBJ_DIR = ./obj SRC_FILES = $(wildcard $(SRC_DIR)/*.cpp) OBJ_FILES = $(patsubst $(SRC_DIR)/%.cpp,$(OBJ_DIR)/%.o,$(SRC_FILES)) LDFLAGS = ... # Any additional linker flags CPPFLAGS = ... # Any additional preprocessor flags CXXFLAGS = ... # Any additional compiler flags main.exe: $(OBJ_FILES) g++ $(LDFLAGS) -o $@ $^ $(OBJ_DIR)/%.o: $(SRC_DIR)/%.cpp g++ $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $<
Makefile 분석
종속성 관리(선택 사항)
종속성 관리를 자동화하려면 Makefile 끝에 다음 줄을 추가하세요.
CXXFLAGS += -MMD -include $(OBJ_FILES:.o=.d)
이렇게 하면 Makefile 규칙의 자동 생성이 활성화됩니다. 소스 파일과 개체 파일 간의 종속성을 추적하여 유지 관리를 단순화합니다.
결론
이 접근 방식은 여러 .cpp 파일을 컴파일하고 이를 바이너리로 연결해야 하는 요구 사항을 충족합니다. 이는 또한 소프트웨어 개발에서 표준이자 널리 사용되는 방식으로 간주됩니다.
위 내용은 Makefile을 사용하여 여러 C 파일을 실행 파일로 컴파일하고 링크하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!