[MacOS] VSCode C++ 컴파일 오류와 그 해결법

2025. 1. 1. 18:26코딩 도구/프로젝트 개발 및 문제, 오류 해결

반응형

MacBook에서 VSCode로 C++ 개발 시 겪을 수 있는 문제와 해결 방법

MacBook에서 VSCode를 사용하여 C++ 개발을 진행하는 과정에서 겪을 수 있는 문제를 해결하기 위해, 이번 글에서는 문제 상황과 원인을 파악하고, 이를 효과적으로 해결할 방법을 정리하였습니다.

 


1. 문제: 빌드 및 실행이 동작하지 않음

문제 설명

  • VSCode에서 "C/C++: g++ build active file" 작업을 실행하면 실행 파일이 생성되지 않거나, 실행이 실패하며 아래와 같은 오류 메시지가 표시됩니다:
/bin/bash: /usr/local/bin/g++: No such file or directory

원인

  1. g++ 컴파일러가 설치되어 있지 않거나, 경로가 잘못 설정되어 있음.
  2. VSCode의 tasks.json 설정에서 컴파일러 경로(/usr/local/bin/g++)가 올바르게 지정되지 않음.

해결 방법

g++ 설치 확인: 터미널에서 which g++ 명령어를 실행하여 g++의 설치 경로를 확인합니다:

which g++

 

출력이 없으면 Homebrew로 g++을 설치합니다:

brew install gcc

 

tasks.json 수정: g++ 경로를 확인한 뒤, VSCode의 tasks.json 파일을 아래와 같이 수정합니다:

{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "shell",
            "label": "C/C++: Build and Run",
            "command": "/bin/bash",
            "args": [
                "-c",
                "/usr/local/bin/g++ -fdiagnostics-color=always -g \"${file}\" -o \"${fileDirname}/${fileBasenameNoExtension}\" && \"${fileDirname}/${fileBasenameNoExtension}\""
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": ["$gcc"],
            "detail": "Task to build and run the active file."
        }
    ]
}

 

활성 파일 확인: 빌드하려는 C++ 파일(예: main.cpp)이 VSCode에서 활성화된 상태인지 확인합니다. tasks.json은 활성 파일을 기준으로 빌드 작업을 수행합니다.


2. 문제: 실행 결과가 터미널에 출력되지 않음

문제 설명

  • 빌드와 실행이 완료되었지만, 실행 결과가 VSCode 터미널에 출력되지 않음.

원인

  • tasks.json에서 실행 파일 출력 경로가 올바르지 않거나, 터미널에 결과를 출력하도록 설정되지 않음.

해결 방법

tasks.json 수정: 아래 설정으로 tasks.json을 수정하여, 빌드 성공 시 실행 파일을 터미널에서 실행하도록 설정합니다:

{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "shell",
            "label": "C/C++: Build and Run",
            "command": "/bin/bash",
            "args": [
                "-c",
                "/usr/local/bin/g++ -fdiagnostics-color=always -g \"${file}\" -o \"${fileDirname}/${fileBasenameNoExtension}\" && \"${fileDirname}/${fileBasenameNoExtension}\""
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": ["$gcc"],
            "detail": "Task to build and run the active file."
        }
    ]
}

 

빌드 및 실행 테스트: Cmd + Shift + B를 눌러 빌드 작업을 실행합니다. 실행 결과가 터미널에 출력됩니다:

빌드 중...
실행 결과:
Hello, World!

3. 문제: 컴파일 성공 후 실행 파일이 실행되지 않음

문제 설명

  • 빌드 과정은 성공적으로 완료되었지만, 실행 파일이 실행되지 않거나 No such file or directory 오류가 발생합니다.

원인

  1. 실행 파일이 생성되지 않았거나 경로가 잘못 지정됨.
  2. 실행 권한이 부여되지 않음.

해결 방법

컴파일 결과 확인: 빌드 후 터미널에서 실행 파일이 생성되었는지 확인합니다:실행 파일이 없으면, tasks.json 설정이 잘못되었을 가능성이 있습니다.

ls ${fileDirname}

 

실행 권한 부여: 파일이 생성되었지만 실행되지 않는다면, 실행 권한을 부여합니다:

chmod +x ${fileDirname}/${fileBasenameNoExtension}

 

실행 경로 지정: 실행 파일이 프로젝트 디렉토리 외부에 생성되었다면, tasks.json에서 "-o" 옵션으로 출력 경로를 수정합니다.


4. 문제: Homebrew 설치된 컴파일러와 VSCode가 호환되지 않음

문제 설명

  • g++가 Homebrew로 설치되었지만, VSCode에서 인식하지 못하는 경우가 발생합니다.

원인

  • PATH 환경 변수에 Homebrew 경로(/usr/local/bin 또는 /opt/homebrew/bin)가 포함되지 않음.

해결 방법

PATH 환경 변수 설정: .zshrc 또는 .bash_profile 파일을 열고 Homebrew 경로를 추가합니다:

export PATH="/usr/local/bin:$PATH"
export PATH="/opt/homebrew/bin:$PATH"

변경 사항을 적용합니다:

source ~/.zshrc

 

VSCode 재시작: 변경 사항을 반영하기 위해 VSCode를 재시작합니다.


결론

MacBook에서 VSCode를 사용하여 C++ 개발을 진행할 때, 발생할 수 있는 다양한 문제와 그 해결 방법을 정리했습니다.

반응형