M1 맥북 vscode C/C++ 개발환경 세팅

업데이트:

안녕하세요!👋

이번에는 m1맥북에 C/C++ 개발환경을 세팅하는 법에대해 공유해보려고 합니다

- - - - - - - -추가- - - - - - - -

맥OS 업그레이드 (예- MacOS 15 monterey 업그레이드) 시 c/c++ 컴파일이 안되는 경우 (xcrun 에러)

xcode-select --install


위 명령어로 xcode cli을 다시 설치해주시고 vscode등을 완전히 종료하셨다가 키시면 해결됩니다!
맥os 업데이트나 업그레이드 할때 xcode cli이 초기화 되거나 경로가 바뀌는지 이런 오류들이 생기는것같아요 ㅠㅠ
이번 monterey업데이트 이후 갑자기 안되서 검색하시고 오시는 분들도 있는것 같아 추가합니다

🙏요약

M1 C/C++ 개발환경 설정 요약입니다.

  1. vscode 설치 ,c/c++ ,coderunner 확장패키지 설치
  2. coderunner 설정에서 g++ -std=c++17 꼭 해줄것 (안하면 c99버전으로 컴파일되어 사용하기 힙듭니다)
  3. homebrew, xcode설치시 자동 gcc,g++ 설치


📔Visual Studio Code 설치 및 code runner 설정

먼저 visual studio code를 설치해줍니다 편하고 유용한 ide이니 vscode사용하는걸 권장드립니다

image

vscode에 처음 들어가면 이런 곳이 있는데 여기서 받아도 되겠지만 저는 m1 전용을 찾아서 설치했습니다 아래쪽을 따라가봐요

image
image

첫 페이지에서 download를 클릭하시고 m1칩용 vscode 가 있습니다.

여기서 설치 하시면 확실하게 m1칩용 vscode를 설치할 수 있습니다. 첫페이지에서 download를 클릭하면 인텔칩용이 설치되기도 한다고 합니다.


설치하고 vscode를 열어줍니다!📖

image
image

vscode 확장 프로그램에서 c/c++과 code runner를 검색하여 설치해주세요.

image

code runner는 이렇게 오른쪽 위 세모 모양을 눌러 코드를 실행시켜주는 확장프로그램 입니다

아마 처음에 코드를 작성해 보시면 컴파일러가 없기 때문에 라이브러리들이 오류가 나고 코드 실행이 안될거에요 이를 실행하기 위해 gcc/g++ 컴파일러가 필요하지만 일단 code runner 설정부터 먼저 하시고 컴파일러를 설치하겠습니다

윈도우에서는 minGW 컴파일러를 vscode에서 사용하도록 설정하고 뭐하고 해야하는데 맥에서는 xcode를 설치하면 컴파일러가 자동으로 설치됩니다

image
image
확장 프로그램의 code runner에 톱니바퀴 버튼을 눌러주시고 setting.json에서 편집에 들어가 주세요 이후 아래에 있는 코드를 붙여넣어 주시면 됩니다

{
    "git.ignoreMissingGitWarning": true,
    "code-runner.runInTerminal": true,      
    "C_Cpp.updateChannel":"Insiders",
    "editor.multiCursorModifier": "ctrlCmd",
    "C_Cpp.default.cppStandard": "c++17",
    "C_Cpp.default.cStandard": "c11",
    "code-runner.executorMap": {
        
        "javascript": "node",
        "java": "cd $dir && javac $fileName && java $fileNameWithoutExt",
        "c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
        "cpp": "cd $dir && g++ -std=c++17 $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
        "objective-c": "cd $dir && gcc -framework Cocoa $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
        "php": "php",
        "python": "python -u",
        "perl": "perl",
        "perl6": "perl6",
        "ruby": "ruby",
        "go": "go run",
        "lua": "lua",
        "groovy": "groovy",
        "powershell": "powershell -ExecutionPolicy ByPass -File",
        "bat": "cmd /c",
        "shellscript": "bash",
        "fsharp": "fsi",
        "csharp": "scriptcs",
        "vbscript": "cscript //Nologo",
        "typescript": "ts-node",
        "coffeescript": "coffee",
        "scala": "scala",
        "swift": "swift",
        "julia": "julia",
        "crystal": "crystal",
        "ocaml": "ocaml",
        "r": "Rscript",
        "applescript": "osascript",
        "clojure": "lein exec",
        "haxe": "haxe --cwd $dirWithoutTrailingSlash --run $fileNameWithoutExt",
        "rust": "cd $dir && rustc $fileName && $dir$fileNameWithoutExt",
        "racket": "racket",
        "scheme": "csi -script",
        "ahk": "autohotkey",
        "autoit": "autoit3",
        "dart": "dart",
        "pascal": "cd $dir && fpc $fileName && $dir$fileNameWithoutExt",
        "d": "cd $dir && dmd $fileName && $dir$fileNameWithoutExt",
        "haskell": "runhaskell",
        "nim": "nim compile --verbosity:0 --hints:off --run",
        "lisp": "sbcl --script",
        "kit": "kitc --run",
        "v": "v run",
        "sass": "sass --style expanded",
        "scss": "scss --style expanded",
        "less": "cd $dir && lessc $fileName $fileNameWithoutExt.css",
        "FortranFreeForm": "cd $dir && gfortran $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
        "fortran-modern": "cd $dir && gfortran $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
        "fortran_fixed-form": "cd $dir && gfortran $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
        "fortran": "cd $dir && gfortran $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt"
    }
}

초기에 밑에 긴 커멘드 라인들은 이미 입력이 되어있을 거구 위에 몇가지만 추가해 주시면 됩니다


C/C++ 컴파일 설정에 관한건데요 처음에는 C++89인가 99인가 로 설정되있어서 불편해요 맞는코드도 컴파일이 안되구요

기본적인 문법들도 오류가 나더라구요 이걸 꼭 C++17 버전으로 컴파일 하도록 설정해야 합니다!

매우중요 json 의 “cpp”:쪽 명령어에 g++ -std=c++17 이거 꼭 설정해주셔야 합니다!!!
(“cpp”: “cd $dir && g++ -std=c++17 $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt” 부분)


처음에 오류가 나면 뭐때매 안되는지 찾기 힘드니 나중에 고생 안하시려면 꼭 설정하시길 바랄게요!

여기까지 설정하셨으면 vscode에서의 설정은 모두 되었습니다. 이제 컴파일러만 설치하면 됩니다

👀C/C++컴파일러 설치

먼저 homebrew를 설치해야 합니다

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

터미널에서 위 명령어 입력해주시면 자동으로 m1버전으로 설치되는걸로 알고있습니다

brew install cask

이후 xcode를 다운받기 위해 cask를 설치해 줍니다


이제 xcode 명령어 입력이 가능해집니다.

xcode-select --install

위 명령어를 이용해 xcode를 설치해주면 c/c++ 컴파일러가 자동으로 설치됩니다

이제 끝입니다 가셔서 vscode를 사용하여 열심히 공부하시면 되겠습니다🙌


혹시나 coderunner를 단축키로 쓰고싶으시다면 shift+cmd+p 를 통해 Keyboard ShortCuts 들어가신 후 code runner 검색하셔서 단축키 설정하여 사용하시면 됩니다
저는 opt+r을 단축키로 사용하고 있네요 단축키 설정해두는게 확실히 편합니다

그럼 긴글 봐주셔서 감사합니다! 👋안녕!

태그: ,

카테고리:

업데이트:

댓글남기기