undefined reference to 'round'
프로그래밍/그 외2018. 4. 18. 17:35
안녕하세요. 개발자 드리머즈입니다.
유니티에서 사용할 안드로이드에서 돌아가는 C++ 플러그인을 만드는 중이었습니다.
Visual C++ > Cross Platform > Android > Dynamic Shared Library (Android)를 통해 프로젝트를 만들었습니다.
그런데
Visual C++ > General > Empty Project를 통해 만들었던 윈도우에서 돌아가는 C++ 플러그인을 만들 때는 발생하지 않았던 에러가 발생했습니다.
undefined reference to 'round'
undefined reference to 'sqrt'
이런 에러가 갑자기 발생하면 참으로 난감합니다.
다행히 스택오버플로우에 검색을 해보면
https://stackoverflow.com/questions/5005363/undefined-reference-to-sin 이런 글이 있긴 합니다.
그런데 글도 길고.. 사진이 없어서 도움이 좀 안됩니다.
그래도 힘을 내서 읽어보면.. 무슨 math library가 link되지 않았다고 link 해야 한다고 합니다.
You need to link with the math library, libm:
$ gcc -Wall foo.c -o foo -lm
잘은 모르겠지만 -lm 옵션이 필요한 것 같습니다.
Properties 창을 열어서 Linker > Command Line에 갑니다. 그러면 Additional Options가 있는데 -lm을 추가하고 확인 버튼을 누릅니다.
그리고 다시 빌드를 하면 제대로 됩니다~!!
댓글 영역