2012-11-29 4 views
1

라이브러리를 연결할 때 -rpath는 동적 라이브러리의 주소를 ld로 전달하는 데 사용됩니다. 내 질문에 만약 내가 LD_LIBRARY_PATH에 주소를 설정, 내 링크 과정에서 여전히 -rpath 플래그가 필요합니까?LD_LIBRARY_PATH와 -rpath의 차이점

답변

0

일반적으로, 당신이 그것을 필요로하지 않으며 실제로는 실행 파일로 인코딩 라이브러리 검색 경로가없는 것이 바람직의합니다 (-rpath 옵션은 바이너리의 경로를 인코딩 중 하나 DT_RPATH이나 DR_RUNPATH)

PS . 그들은 빌드 트리에있는 및 디버깅을 용이하게하기 위해, 빌드 트리에서 다른 라이브러리에 의존하지만 동안 내 자신의 일반적인 접근 방식은--rpath 옵션을 사용하여 실행 파일을 을 연결하는 것입니다 다시 링크 할 를하지 않고 설치 (make install, 건물 패키지)에 따라 옵션을 사용하고 대상 플랫폼의 적절한 동적 링커 구성 (예 : ld.so.conf)에 공유 라이브러리를 찾는 작업을 남겨 둡니다.

+0

어떻게 automake를 사용하여 이것을 수행합니까? –