/usr/local/lib에 libabc.a 와 libabc.so.0.0 이 있는데요..

sisap의 이미지

안녕하세요?

보통 공개 라이브러리 같은것을 가져다 컴파일하고 설치하면 제목에서 말씀드린데로, libabc.a와 libabc.so.0.0 그리고 그 링크인 libabc.so.0, libabc.so 과 같은 파일들이 기본적으로 생성되는것 같은데요..

libabc.a는 스태틱, libabc.so.0.0은 쉐어드 라이브러리인건 알겠는데 왜 libabc.so.0, libabc.so 등과같은 링크를 만드는 이유는 뭔지요?

그리고 보통 컴파일할때 -labc 하면 기본적으로 쉐어드라이브러리를 링크하는것 같던데요.. 그래서 일부러 so파일들을 모두 지우고 libabc.a만 남겨뒀더니 그때서야 스태틱라이브러리를 링크해서 컴파일하던데..

먼가 좀 세련되게.. makefile에서 스태틱 라이브러리를 지정해서 컴파일 해줄수 있을것 같은데...

고수님들의 조언좀 부탁드리겠습니다... 머 질문이 두개인듯 한데.. 둘중 하나만이라도 괜찮으니 이 궁금증을 좀 해결해 주시면 감사하겠습니다..

그럼.. 좋은 하루 되시고요..~

익명 사용자의 이미지

Quote:
gcc -static -o test.exe test.c -L/usr/local/lib -labc