[완료] GSL undefined reference
글쓴이: goraion / 작성시간: 토, 2011/05/07 - 9:25오전
수치해석을 이용한 연구를 하고 있습니다.
Python+scipy를 주로 이용하다가 계산속도가 중요한 프로그램이 있어서 C 라이브러리를 사용할 생각입니다.
GSL이 좋은 라이브러리라 추천을 많이 들어서 1.14버전을 설치하였습니다.
그런데 컴파일하니 GSL을 사용하는 함수들이 undefined reference라면서 나오더라구요
/usr/local/include/gsl 그리고 /usr/local/bin 폴더에 주로 인스톨되어 있는것 같습니다.
검색을 해 보니 gcc -I/usr/include/gsl -lgsl xxx.c -o xxx 라고 되어있길래 따라 해보니 undefined reference만 뜨는군요.
GSL홈페이지에서 제공하는 레퍼런스 문서에 적혀있는것들을 시도해도 같은 증상만 나옵니다.
이런 link 문제들은 어떻게 해결할 수 있는지 궁금합니다.
Forums:
컴파일하여 설치하셨다고 하니 아마 시스템에 라이브러리
컴파일하여 설치하셨다고 하니 아마 시스템에 라이브러리 경로로 등록되지 않은 곳에 설치를 하신듯합니다.
컴파일타임에 라이브러리 위치를 명시하는 옵션은 -L이고, 런타임에는 LD_LIBRARY_PATH 환경변수를 설정하면됩니다.
라이브러리 위치는 설치하신 경로에 따라 다를텐데, 아마도 유추해보건데 /usr/local/lib에 들어갔을듯하네요.
만약에 맞다면 컴파일할때 -L/usr/local/lib 옵션을 달아주시면 컴파일은 문제없이 될겁니다.
컴파일하고 실행할려고 할때도 라이브러리가 없다고 뜰텐데, 일단은 다음과 같이 환경변수를 설정하면 실행될겁니다.
LD_LIBRARY_PATH=/usr/local/lib:${LD_LIBRARY_PATH}
댓글 달기