오류 원인 분류

빌드 실패 단계 구분

같은 실행 실패처럼 보여도 전처리, 컴파일, 링크, 런타임은 확인할 파일과 수정 위치가 다릅니다.

단계별로 먼저 확인할 것

message -> stage -> fix
#include

전처리

헤더를 찾지 못하면 include 경로, 파일명, 설치 위치를 확인합니다.

error:

컴파일

문법, 타입, 선언 누락 문제를 오류가 가리키는 줄에서 고칩니다.

undefined

링크

선언은 보였지만 정의나 라이브러리가 빠진 상태인지 확인합니다.

exit code

런타임

입력, 메모리 접근, 조건 분기처럼 실행 중 상태를 추적합니다.

명령을 나눈다 `-E`, `-S`, `-c`처럼 단계를 끊어 어느 산출물까지 만들어지는지 본다.
첫 오류부터 고친다 뒤따르는 오류는 앞선 문법 오류 때문에 연쇄로 생길 수 있다.
링크 옵션을 확인한다 외부 라이브러리는 헤더뿐 아니라 실제 라이브러리 파일도 연결해야 한다.
빌드 진단 기준

실행 파일이 만들어졌는가를 먼저 보고, 만들어지지 않았다면 빌드 단계, 만들어졌다면 실행 단계 문제로 좁힙니다.