다음 형식의 파일 이름을 사용하여 미리 컴파일된 라이브러리를 다운로드했습니다.
<name>.so.0
일종의 버전 관리를 수집하나요? 이 라이브러리를 사용하는 방법 - 추출하려면 도구를 사용해야 합니까? 제 생각에는 프로그램이 <name>
파일이 있는 경우에만 검색할 것 같습니다.
답변1
바이너리가 실행되면 컴파일된 라이브러리가 자동으로 로드됩니다. 이를 위해 /etc/ld.so.conf에 정의된 위치를 확인합니다. 대부분의 배포판에서는 /usr/local/lib
패키지 관리자가 설치하지 않은 라이브러리가 저장되는 에 라이브러리를 넣어야 합니다 .
시스템 전체에 라이브러리를 설치하지 않으려는 경우(또는 루트 액세스 권한이 없는 경우) LD_LIBRARY_PATH
프로그램을 실행할 때 .so 파일이 포함된 폴더로 설정할 수 있습니다.
LD_LIBRARY_PATH=/path/to/folder_with_so_file ./yourprogram
버전 번호 관련: 프로그램에서 .so
버전 번호를 명시적으로 찾지 않으면 기호 링크를 만듭니다(lib 폴더에도 있음).
ln -s <name>.so.0 name.so
대부분의 라이브러리는 가장 구체적인 버전 번호의 파일을 유지하고 주요 버전과 버전이 지정되지 않은 이름에 대한 심볼릭 링크를 만듭니다(예: 내 시스템에서는 /usr/lib
파일 및 가 포함되며 libjpeg.so
처음 /usr/lib64/libjpeg.so.62
두 /usr/lib64/libjpeg.so.62.0.0
개는 후자에 대한 심볼릭 링크입니다)