본문 바로가기
오래된 글

/usr/bin/ld : cannot find -ljvm 에러 해결하는 방법

by pagehit 2019. 4. 10.
반응형

cannot find -ljvm 오류 해결하기


JNI를 공부하는 도중에 아래와 같은 에러가 나타났다.

/usr/bin/ld: cannot find -ljvm
collect2: error: ld returned 1 exit status

에러 코드에서 -ljvm은 사용하는 라이브러리 이름에 따라 다르게 나타날 수 있는 듯하다.
예를 들어 xyz 라는 라이브러리를 사용한다면 cannot find -lxyz 형태로 나타날 것이다.

먼저 라이브러리를 링크 옵션을 통해 연결해주는 과정에서 에러가 나타났다.

gcc -L/usr/lib abcd.c -o abcd.out  -ljvm

위의 명령어와 같이 -L 옵션으로 라이브러리를 링크하는 과정에서 오류가 발생했다.
-L 옵션 다음에는 링크하려는 라이브러리의 경로를 입력해야 한다.

기본적으로 경로가 잘 못 설정되면 오류가 발생한다.
나 같은 경우에는 경로에 라이브러리 이름까지 포함시켜 에러가 발생했다.
경로에는 디렉토리 폴더까지만 나타내면 된다.

예를 들어,

-L/usr/lib/xyz

xyz 라이브러리를 ㅌ추가하기 위해 위의 명령어와 같이 입력하면 안된다.
아래와 같이 디렉토리 까지만 나타내 준다.

-L/usr/lib
반응형

댓글