나는 리눅스에서 공유 라이브러리를 설치하는 방법을 알아보기 위해 makefile에서 어떻게 사용하는지 알아 냈다.Linux에서 정적 라이브러리 설치 - 동적 라이브러리 설치와 유사해야합니까?
그럼 괜찮습니다. 나는 이제 공유 객체와 한 쌍의 부드러운 링크를 가지고 있는데, 그 중 하나는 ldconfig와 하나씩 만들어졌습니다.
이제 라이브러리를 정적 라이브러리로 빌드 할 수 있습니다.
/usr/lib를 검사하면 거기에 .a 파일이있는 것을 볼 수 있습니다. 파일 이름에 심볼릭 링크, 버전 정렬 및 릴리스 번호 지정이 없습니다.
내 공유 객체를 정렬하는 것과 같은 방법으로 심볼 링크를 사용하여 정적 라이브러리를 배열해야합니까, 실제로는 정적 라이브러리를/usr/local/lib에 배치하는 것이 관례입니까?
내 정적 라이브러리의 버전이 여러 개이고 다른 프로젝트의 다른 버전과 연결하고 싶다면 어떻게됩니까? –
** 빌드 ** : 다른 디렉토리에서 다른 인스턴스를 준비하고 특정 메이크 파일을 대상으로 지정합니다. 공유 라이브러리에서는 기본적으로 동일합니다. ** 실행 ** : 정적 라이브러리의 코드가 실행 파일에 임베드되어 있으므로 시스템에 정적 라이브러리가있을 필요가 없습니다. –
달리기에 대해 이해합니다. 당신은 정적으로 연결되어 있습니다. 그러나, 나는 건물에 관하여 noc 명확하다; 동일한 제 3 자 정적 라이브러리의 다른 버전과 정적으로 링크되는 두 개의 프로젝트를 말합니다. 정적 라이브러리가 라이브러리 디렉토리에 같은 이름 ('library.a')으로 덤프되는 경우 어떻게 다른 라이브러리 버전을 구별 할 수 있습니까? –