Cross Compile C/C++ 오류 ( undefined reference to ... )

반응형
여러 장치로 ( ARM, MIPSE ... ) 프로그램을 이식하기 위해 각 장치 코어에 맞는 Cross Compiler 환경을
사용하게 된다.

프로그램을 개발 또는 다른 시스템의 프로그램을 이식하고자 할 경우 `isnan` 등의 수학 함수를 사용하는
경우가 발생하는데 x86 용으로 빌드시에 문제가 발생하지 않을 수 있지만 Cross Compiler 환경을 사용하여
빌드할 경우 가끔 "undefined reference to `isnan`", "undefined reference to `isinf`" 등의
오류가 발생하게 된다.

이때, Make 또는 gcc Compile 시에 "libm" 라이브러리를 링크시켜주게 되면, 위의 오류는 발생하지 않게된다.

이 외에도 위와 같이 "undefined reference to ... " 등의 오류가 발생하게 되면, 라이브러리 링크 문제를
의심하면 될 것이다. 참조 되지 않은 함수가 어느 라이브러리에 포함되는 함수인지 확인 후 static 또는 shared
형태로 라이브러리를 링크 해주면 왠만큼 해결될 것이다.
반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유