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추가하고 확인 버튼을 누릅니다.


그리고 다시 빌드를 하면 제대로 됩니다~!!

작성자

Posted by 드리머즈

관련 글

댓글 영역