나는 당황합니다. - 내가 libssl에와 "아무것도"연결하지거야 - 결과가 libssl.so.4
로 연결한다는 것을 /lib/libssl.so.4
하고 여기에gcc 링커가 이전 버전의 공유 라이브러리를 선택하는 이유는 무엇입니까?
/lib/libssl.so.6
가 옷을 벗었 최소한의 예입니다 : 내가/lib 디렉토리에 libssl.so의 2 개 버전이있다. 이것을 결정하는 것은 무엇입니까?
$ g++ -o foo.so -shared -lssl
$ ldd foo.so |grep ssl
libssl.so.4 => /lib/libssl.so.4 (0xf7f04000)
'/ lib/libssl.so' 또는'/ usr/lib/libssl.so'는'/ lib/libssl.so.4'에 대한 심볼릭 링크입니까? 또한 [이 질문] (http://stackoverflow.com/questions/3840218/how-to-specify-the-library-version-to-use-at-link-time)을 참조하십시오. – rlibby
예, 정확합니다. /usr/lib/libssl.so는 /lib/libssl.so.4에 대한 심볼릭 링크입니다 (실제로 /lib/libssl.so.4 그 자체가 심볼릭 링크 인 실제 파일). Repointing 문제를 해결했다. –