[질문] 리눅스에서 링크옵션.
글쓴이: bizzare / 작성시간: 목, 2006/02/16 - 11:18오전
리눅스에서 so 파일을 만들려고 합니다.
A.so라는 so, B.so라는 so 를 만들고
B.so는 A.so를 사용합니다. (dependency)
이 때, B.so를 로드하려고 하면 B.so가 있는 디렉토리에 A.so가 있으면 바로 로드되게 하고 싶은데
A.so가 라이브러리 path에 등록된 path가 아니면 로드가 안되더군요.
제가 so 파일을 만들 때 썼던 옵션은 다음과 같습니다.
-shared -WI,-soname,libB.so.0 -o libB.so -lA
그런데 제가 이 문제에 대해 문의를 하니 어떤 분이
다음과 같은 옵션을 사요애보라고 하더군요.-Wl,-rpath, '$ORIGIN'
그런데 정확히 어떻게 사용하는 지 모르겠습니다.
일단 -WI옵션이 제가 썼던거랑 겹쳐서요.
구체적으로 설명해주실 수 있으면 감사하겠습니다.
Forums:
A.so가 있는 디렉터리를 LD_LIBRARY_PATH에 추가하시고 실행
A.so가 있는 디렉터리를 LD_LIBRARY_PATH에 추가하시고 실행하시면 되지 않을까요?
-더블유 엘입니다.링커에게 -rpath 옵션을 넘기라는 뜻이고,
-더블유 엘
입니다.
링커에게 -rpath 옵션을 넘기라는 뜻이고, -rpath는 so 파일 찾는 경로를 링크타임때 넣어 주는 것입니다.
그리고 -Wl 은 여러번 올 수 있습니다
---
http://coolengineer.com
댓글 달기