gcc 컴파일 중에 /usr/bin/ld: cannot find -liberty 에러

sc217의 이미지

안녕하세요. 가끔 들러서 눈팅만 하는 리눅스 초보입니다.

우연히 검색기 사이트에 관련된 프로그램을 연동할 일이 있어서

예제를 따라해 보고 있는데요.

make파일로 돌리려고 하면 /usr/bin/ld: cannot find -liberty 이런 에러가 발생이 되어지는데요.

원인을 알지못해서 작업이 지연되어 지고 있습니다.

혹시 아시는 분이 계시면 답변 좀 부탁드리겠습니다.

지금 gcc버전은 4.3.2버전입니다.

dalili의 이미지

gcc 옵션에서 라이브러리 관련한 옵션이 두가지가 있습니다
-l 하고 -L 이죠

-l은 라이브러리명이고
-L은 라이브러리 path 입니다
이 라이브러리를 가져다 쓸꺼다라고 하지만, 어느 위치에 있는지 모르기 때문에 path도 지정해 줍니다

단, LD_LIBRARY_PATH에 잡혀 있다면 -L 옵션을 안해줘도 됩니다

liberty 라는 라이브러리가 뭔지는 모르겠는데, 찾아보시고
없으면 구글에서 검색해서 다운 받던가 설치를 하던가 하셔야 해요

자세한 내용은 공유라이브러리 관련해서 보시면 됩니다

sc217의 이미지

실제 저 부분을 make파일에서 지우고 실행했더니 잘 돌아가더군요.

그래도 알려주신대로 한번 실행해 보아야겠습니다.

좋은 개념 알려주셔서 감사합니다.

hys545의 이미지

정확히 말하면
gcc 소스안에 보면 liberty가 있습니다,
즉 원래 gcc깔면 같이 깔리는게 정상입니다.

http://ko.wikipedia.org/wiki/Libiberty
참고하세여

즐린