2014년 7월 17일 목요일

undefined reference to `std::__throw_bad_alloc()'

undefined reference to `std::__throw_bad_alloc()'
위와 같은 링크 에러가 날 때가 있다. 보통 하나만 나지 않고 저것을 비롯한 여러 표준 C++ 라이브러리 관련 링크 에러가 같이 난다.
원인은 표준 C++ 라이브러리가 링크 안되서이다. g++로 컴파일 하는 경우 몇몇 이 같은 링크를 자동으로 해줘서 링크 안해도 몰랐다가 gcc를 사용하거나 해서 자동으로 안되면서 에러가 발생하는 것이다.
해결은 간단하게 -lstdc++ 옵션을 추가해 주는 것이다.

알게 된 출처: Stack Overflow 링크