[vscode]Mac(M1), include path문제(<SDL2/SDL.h>,homebrew)



1️⃣ #include 오류문제

  • 최근에 M1기반 맥북을 샀는데 아직도 환경설정문제는 적응이 안되는 것 같습니다.
  • 이번엔 <SDL2/SDL.h>헤더파일을 이용하고 싶은데 다음과 같이 경로를 찾을 수 없는 오류가 발생했습니다. includepath_error1

  • 분명 SDL2파일을 homebrew를 이용해서 설치해 줬고 homebrew의 경로설정도 다했는데.. includepath_error2

  • 이처럼 SDL.h헤더를 가진 SDL2폴더도 있는데 vscode는 왜 못찾을까?


2️⃣ includePath 오류 해결법

  • 맥린이 입장에서는 homebrew로 파일을 설치하면 알아서 컴파일러에 헤더파일경로를 추가해준다고 착각한 것이 문제였습니다. (어쩌면 있을수도있지만 찾지는 못했습니다)
  • 다음과 같이 .json파일의 include경로에 homebrew의 헤더파일 경로를 적어줬습니다. soulution_error1

  • json파일이 보이지 않는다면 다음과 같은 방법으로도 경로를 추가할 수 있습니다. (노란전구 클릭) soulution_error2 soulution_error3

  • 다음과 같이 정상적으로 헤더파일(SDL.h)을 읽어서 함수(SDL내장)의 설명이 정상적으로 출력됨을 볼 수 있습니다. soulution_error4


3️⃣ 컴파일하기

  • 위의처럼 Vscode에 경로를 가르쳐줘도 컴파일을 할때는 또다시 컴파일러에게 경로를 가르쳐줘야 합니다. soulution_error4

  • 다음과 같은 컴파일 옵션을 추가해주어 경로를 가르쳐줘야 합니다.(homebrew의 경우 위치는 /opt/homebrew폴더안에서 잘 찾아보면 됩니다.) soulution_error4

    • -I: include할 헤더파일의 주소
    • -L: 라이브러리를 찾을 디렉토리
    • -l: 컴파일할때 링크할 라이브러리이름




© 2021.02. by kirim

Powered by kkrim