저는 2 개의 공유 라이브러리로 작업하고 있습니다. 하나는 (foo) CMake를 사용하고, 다른 하나는 automake를 사용하고 있습니다. 나는 심볼릭 링크에 대한 약간의 배포 문제와 그 결과가 libfoo.so (심볼릭 링크가 없다)이기 때문에, foo의 버전과 분열 속성을 제거했다. 문제는 libbar.so가 libfoo.so.1을 필요로한다는 것입니다 (필자는 readelf로 찾았습니다). libfoo.so.1 대신 libfoo.so를 사용하도록 libbar.so를 어떻게 만들 수 있습니까?공유 라이브러리의 soname은 어떻게 선택합니까?
0
A
답변
0
어떻게 대신,
libfoo.so
를 사용하는libbar.so
을 할 수libfoo.so.1
libbar.so
이 링크 될 때 libbar.so
의 DT_NEEDED
태그가 모든 라이브러리의 DT_SONAME
의 집합에서, 당시 기록이 에 연결됩니다. 이다
, libbar.so
이 libfoo.so.1
의 DT_NEEDED
, 다음은 이 libfoo.so.1
의 DT_SONAME
과 libfoo.so
에 링크 된 사실이어야가있는 경우.
이있는 경우DT_SONAME
(또는 libfoo.so
의 DT_SONAME
로), 다음 libfoo.so
의 버전 libfoo.so.1
DT_NEEDED
태그를 제거하는 필요 충분 것을 에 대해 libbar.so
을 재 연결없이 libfoo.so
.
관련 문제
- 1. 공유 라이브러리의 전역 변수는 어떻게 링크됩니까?
- 2. 공유 라이브러리의 추상 클래스
- 3. 공유 라이브러리의 두 인스턴스로드
- 4. 공유 라이브러리의 상대 경로
- 5. 공유 라이브러리의 종속성을 연결합니다.
- 6. 공유 라이브러리의 재배치 항목
- 7. 공유 라이브러리의 외부 라이브러리
- 8. 공유 라이브러리의 여러 복사본로드 중
- 9. 공유 라이브러리의 절대 경로 임베드
- 10. 공유 라이브러리의 복사본을 여러 개로드하십시오.
- 11. C에서 공유 라이브러리의 포인터에 액세스
- 12. 리눅스 공유 라이브러리의 JNI 코드
- 13. war-package와 공유 라이브러리의 종속성
- 14. Linux 공유 라이브러리의 종속성 최소화
- 15. 리눅스에서 공유 라이브러리의 이름 이해하기
- 16. 공유 라이브러리의 관리/파일 이름
- 17. OSX에서 공유 라이브러리의 메인 정의하기
- 18. C++ 공유 라이브러리의 unexported 클래스
- 19. 공유 라이브러리의 정의되지 않은 심볼
- 20. 다음을 위해 어떻게 선택합니까?
- 21. GeoCoordinateWatcher는 소스를 어떻게 선택합니까?
- 22. div의 스크롤바는 어떻게 선택합니까?
- 23. asp.net에서 radiobuttonlist를 어떻게 선택합니까?
- 24. XStream은 변환기를 어떻게 선택합니까?
- 25. JTable에서 행을 어떻게 선택합니까?
- 26. 이 요소는 어떻게 선택합니까?
- 27. 노드의 인덱스는 어떻게 선택합니까?
- 28. 여기에서 TR을 어떻게 선택합니까?
- 29. 다른리스트에서 스피너를 어떻게 선택합니까?
- 30. 이 값을 어떻게 선택합니까?