프로그래밍 언어/C C++

M1 Mac VSCode에서 #include errors detected 오류 해결하기

트리맨스 2021. 8. 25. 21:52
반응형

 

오랜만에 기분좋게 42서울 과제를 해결하려 vscode를 실행했다. 그런데 갑자기 #include errors detected 라는 이상한 오류가 뜨기 시작했다. gcc를 이용해서 컴파일 할 때는 문제가 없었지만, 상당히 거슬렸다. 이유를 하나하나 찾아가 보았다.

 

 

 

M1맥의 gcc 또는 g++


gcc와 g++은 각각 c언어 컴파일러, c++ 컴파일러이다. vscode에서는 c(++)에 관한 플러그인이 있는데, 이는 자동으로 컴파일러의 위치를 파악해 코드의 오류를 찾아낸다. 하지만 무슨 이유인지는 모르겠지만, M1맥 에서는 gcc(g++) 경로를 찾지 못하는 모습을 보였다. 아마도 수동으로 C/C++ Extension에 컴파일러 경로를 설정하면 될 것 같았다.

 

 

컴파일러 위치 찾기


최근에도 이걸 사용한 것 같다. 터미널 열고 gcc --version 치면은 컴파일러 위치가 다 나온다.

 

 

InstallDir 을 보면 컴파일러 설치 경로가 나온다. 이것을 C/C++ Extension의 CompilerPath에 붙여주자.

command + p 누르고 c_cpp_properties.json 파일을 수정하자. compilerPath에 경로/g++ 붙여주자. 그냥 복붙하지 말고, compilerPath를 확실히 보고 필요하다면 수정해서 입력하자.

{
    "configurations": [
        {
            "name": "Mac",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [],
            "macFrameworkPath": [],
            "cStandard": "c17",
            "cppStandard": "c++17",
            "intelliSenseMode": "macos-gcc-arm64",
            "compilerPath": "/Library/Developer/CommandLineTools/usr/bin/g++"
        }
    ],
    "version": 4
}

 

이렇게 하면 다음과 같이 에러가 사라진다. 문제의 원인은 인텔 맥과 M1맥의 설정 동기화? 같은데 정확히는 잘 모르겠다. 여튼 문제는 해결을 했으니, 편안하게 문제나 풀어야겠다.

 

 

 

반응형

'프로그래밍 언어 > C C++' 카테고리의 다른 글

맥에서 <bits/stdc++.h> 사용하기  (0) 2021.08.17
C++ deque 자료형 사용법  (0) 2021.07.05
C++ list 자료형 사용법  (0) 2021.06.21
C++ map 자료형 사용법  (0) 2021.06.19
C++ set 자료형 사용법  (0) 2021.06.13