2011-03-16 2 views
1

이클립스하고 있어요 : 헬리오스 서비스 릴리스 1 이클립스 CDT는 g ++ 난 그냥 내 프로젝트에서 공유 라이브러리를 사용에서 이동을 시작했지만 조금으로 실행 한이클립스 CDT 자동 공유 라이브러리를 포함

를 사용하여 컴파일하여 문제. 나는 A, B, C 세 프로젝트가 있습니다. A와 B는 모두 공유 라이브러리이고 C는 실행 파일입니다.

일식에서

나는 C에서 A와 B를 참조하도록 관리하고 C는 컴파일하고 제대로 실행하지만 난 시도하고 수동으로 이클립스의 나는 다음과 같은 오류 얻을 외부에서 생성 된 C 프로그램을 실행할 때 :

"오류 동안 로드 공유 라이브러리 : libA.so : 공유 객체 파일을 열 수 없습니다 :는 " 나는 같은 폴더 및 실행 C에 A.so B.so와 C를 이동 시도

하지만

내가 같은 오류가 없음 같은 파일 또는 디렉터리를 .

Eclipse를 가져 와서 같은 위치에있는 모든 파일로 프로젝트를 빌드 할 수 있습니까? 프로젝트를 새 위치로 이동해도 Eclipse가 계속 실행됩니까?

+0

정확히 같은 문제가있는 것처럼 보입니다. 링커에 libA가 있는데, 경로 및 기호 -> 라이브러리 경로에도 나열되어 있습니다. libA의 위치도 LD_LIBRARY_PATH에 있어야합니까? 나는 컴파일 할 수 있고 일식 (exterm에서)의 외부에서 달린다 – Anu

+0

@Anu 나는이 blog가 매우 도움이된다고 알았다 http://dirkraffel.com/2008/06/27/developing-shared-library-with-eclipse- cdt/이클립스에서 링크에 관한하지만 정말 내 문제를 내가 내보낼 때 해결되지 않았다. – James

답변

2

LD_LIBRARY_PATH에 공유 라이브러리가있는 폴더를 포함하기 만하면됩니다. 이 같은 뭔가 : 캐시를 업데이트하는 루트로 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/user/lib/

6

실행 ldconfig - 그 여전히 도움이되지 않는 경우에, 당신은 아직 더 (단지 한 줄에 그것을 입력) 파일 ld.so.conf 경로를 추가하거나 필요 항목을 디렉토리 ld.so.conf.d의 새 파일 (삭제하기 쉽도록)에 추가하십시오.

관련 문제