2014-05-23 3 views
-1

서버에서 일부 컴퓨팅을 수행하기 위해 ssh를 사용하고 있습니다. 그러나 나는 완전히 유닉스에 처음 온 사람이다. .so 파일을 프로그램에 링크해야합니다. 내가 프로그램을 실행할 때, 그것은 다음과 같은 오류동적 링크를 만드는 방법

MatMult.so: cannot open shared object file: No such file or directory 
Link error: 'MatMult' cannot load dll 
Link error: 'MatMult' undefined function 

내가 경로에있는 .so는 파일을 만들기 위해 LD_LIBRARY_PATH를 변경할 필요가 있다고 생각을보고합니다. 하지만 어떻게 쓰는지 모르겠습니다. 원래 줄은

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$OXHOME/bin64:$niqlowHOME/include:$OXDEV 

제 질문은이 링크를 수정할 수있는 방법입니다. 그리고 그 라인이하는 일을 이해하기 위해 내가 읽도록 추천할만한 자료가 있습니다. 당신이 상기 파일 '.so를'에 연결이 필요합니다 몇 가지 프로그램을 컴파일하는 경우

+0

삭제 된 ddl 태그; dll은 (Microsoft의 경우 임에도 불구하고) 관련성이 있거나, 공유 라이브러리 일 수 있습니다. 정보가 충분하지 않습니다. LD_LIBRARY_PATH의 설정은 컴파일러 연결 작업에 영향을 미치지 않습니다. 런타임에 공유 라이브러리가있는 곳을 식별하기 위해 링크 시간 옵션 ('-Wl, rpath =/some/where' 또는 그 근방)을 지정하거나'LD_LIBRARY_PATH = "로 공유 라이브러리를 담고있는 디렉토리를 추가 할 수 있습니다 $ LD_LIBRARY_PATH :/some/where', 선택적으로'export'라는 접두어가 붙습니다. –

+0

ddl 대신 dll을 의미합니다. –

답변

0

, 당신은 사용할 수 있습니다

GCC -L [하는 .so 파일의 경로] -o 출력 -l [라이브러리 이름을 ]

.so 라이브러리가 필요한 프로그램을 실행중인 경우 라이브러리 파일을/usr/lib 디렉토리에 복사하기 만하면됩니다.

그렇지 않으면 질문을 자세히 작성하십시오. 감사합니다

관련 문제