*.so 는 공유라이브러리이며, *.a 는 static compile 시 사용되는 라이브러리를 말합니다. 이것의 차이점은 *.so 는 이 공유라이브러리를 필요로 하는 프로그램이 실행될 때 메모리에 로딩되며, *.a 는 그 라이브러리를 필요로 하는 프로그램내에 정적으로 넣어주기위해 사용되는 라이브러리입니다.
간단히 프로그래밍을 하시는 분이라면 책을 한번 찾아 보시기 바랍니다.
> 안녕하세요. 얼마전 리눅스로 옮긴 초보잡니다.
>
> mysql을 C로 프로그래밍해서 컴파일은 잘 된것 같은데 링크에서 에러가 납니다.
> 질문과 답변을 주욱 찾아 봤더니 대부분 라이브러리가 있는 위치를 잘 지정하라고 하면서 라이브러리
> 이름을 *.so로 말씀하더군요. 제가 저의 디렉토리를 찾아봤더니 저는 *.a로 되어 있었읍니다.
>
> 질문 둘사이에 무슨 차이가 있는지요. 그리고 어떻게 하면 링크를 성공시킬수 있을까요. 참고로 mysql
> 은 리눅스 설치시 같이 한 것은 아니고 제 스스로 설치했읍니다.
>
> 답변 부탁드립니다.
> 감사합니다.
|