2012-04-23 2 views
3

나는 수학 라이브러리가 -l namelibname.a에 링크되어 있기 때문에 정적으로 링크되었다는 인상을 받았다. 그러나 -static 플래그로 컴파일하려고하면 GCC는 수학 함수를 찾을 수 없다.수학 라이브러리가 정적으로 링크되어 있습니까?

수학이 반드시 정적으로 연결되는 것은 아니겠습니까? 아니면 다른 일이 여기에 있습니까?

답변

5

정적으로 컴파일하려면 gcc -l libname 대신 gcc libname.a을 작성하십시오.

귀하의 질문에 예 수학 라이브러리는 동적으로 링크되어 있습니다.

+3

'-lname'은 정적 라이브러리와 공유 라이브러리를 모두 찾는다 고 생각합니다. 직접 파일 이름과의 공유 링크도 가능합니다. 유일한 차이점은 라이브러리 파일이 * 발견 된 방식입니다. –

+0

@KerrekSB 네가 맞다고 생각하지만,'gcc -lname'은 기본적으로 static을 링크해서는 안됩니다. –