Post

Mac에서 Clang++ 먹통

Mac에서 Clang++ 먹통

들어가기

MacOS Software 최신 업데이트를 하다보면, 가끔 이상하게 C++에서 #include <iostream> 이 동작하지 않는다. 아니, 애초에 <iostream>이 정의되어있는 .dll 파일을 못 찾는 것으로 보인다. 물론 이걸 수동으로 해결할 수 있으면 하면 된다. 근데 나는 싫다. 그리고 StackOverflow나 이런 사이트를 찾아보아도, 하는 말은 다 똑같았다. brew install gcc. 결국, clang말고 gcc를 쓰라는 거다. 근데, 이러다보면 문제가 생긴다. 간혹가다 어떤 패키지는 애초에 Makefile내의 컴파일러 설정을 clangclang++로 해놓는다. 보통 패키지 설치에 실패하면, 기존에 있던 패키지들을 모두 삭제하기 때문에, clang++#include <iostream>이 정상 동작해야한다.

해결방법 1

가장 간단한 해결방법은 terminal에서 CommandLineTools를 설치해주는 방법이다.

1
xcode-select --install

이 방법은 기존에 CommandLineTools가 설치되어있지 않은 경우에 해결된다. 해결이 되지 않으면, 해결방법 2을 참고하자.

해결방법 2

해결방법 2은 CommandLineTools가 이미 설치되어 있다고 할 때 사용할 수 있다.

1
xcode-select: note: Command line tools are already installed. Use "Software Update" in System Settings or the softwareupdate command line interface to install updates

아마 이런 식으로 이미 설치되어 있다는 문구가 나올텐데, 해결방법은 매우 간단하다. “삭제 후 재설치”. 아래의 명령어를 terminal에서 실행하자.

1
2
sudo rm -rf /Library/Developer/CommandLineTools
xcode-select --install

난 이 방식으로 했더니 해결됐다. 이거 하나 하자고 이틀 삽질했다. 시발

확인하기

C++로 확인해보자.

1
2
3
4
5
#include <iostream>

int main(){
  return 0;
}
1
2
clang++ -o runfile main.cpp -lm
./runfile

아무 메세지 없다면, 성공적으로 해결된 것이다. 나이뚜.

This post is licensed under CC BY 4.0 by the author.