라이브러리 파일 이름이
libname.so 또는 libname.a
와 같이 되어 있다면 -l 옵션을 쓸 때
-lname
이라고 쓰면 됩니다. math library의 경우, -lm
을 쓰는 건 라이브리러 파일 이름이 libm.so (또는 libm.a)
이기 때문입니다. *.so는 shared library로 링크할 때,
*.a는 static library로 링크할 때 쓰는 파일입니다.
기본적으로 shared 형태로 링크를 시도하고 해당하는 so
파일이 없으면 static link를 시도합니다. -static 옵션을
써서 강제로 static link를 하도록 할 수도 있습니다.
: gcc를 사용해 소스코드를 컴파일 할 때 library를 링크해야 하던데 옵션을 어떻게 사용해
야 하는지 알 수 있을까요? :
: math library의 경우 -lm이던데 다른 것들은 어떻게 되는지 알 수 없어서...
:
: 그리고 왜 그렇게 링크시켜야 하는지에 대한 개념이랑...
:
: 알려주시면 감사...