so 라이브러리 이름...

peccavi의 이미지

안녕하세요.

리눅스로 프로그램을 개발중인데

외부 업체에서 .so로 된 라이브러리와 헤더 파일을 받았습니다.

그런데 문제가..

gcc -L/home/... -o a.out -c a.c -lXXX

여기서 XXX에 들어갈 이름을 모르겠네요..

라이브러리 경로 링크는 제대로 된것 같구요

일반적으로.. 라이브러리 파일 이름이 libauth.so.0.1 이면

라이브러리 이름이 auth가 되는것 아닌가요?

에궁..

외부 업체에 물어보지 않고 이 이름을 아는 방법이 없을까요?

답변 부탁드립니다.

정태영의 이미지

peccavi wrote:
일반적으로.. 라이브러리 파일 이름이 libauth.so.0.1 이면
라이브러리 이름이 auth가 되는것 아닌가요?

그렇게 되는겁니다 :)
-lauth 로 못찾으면.. 그 앞에..

-L그so파일이있는디렉토리 를 옵션으로 넘겨줘보세요 :D

nm으로.. 그 라이브러리안에 사용하시려는 함수가 있는지도 확인해보시구요 ;)

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

peccavi의 이미지

음.. -L 옵션도 줘봤구요..

ld.so.conf 파일도 변경해 ldconfig도 해줬는데요

안되네요..

링크 이름을 알 수 있는 방법은 따로 없는지요..?

----
jai guru deva om...

서지훈의 이미지

그냥... 해당 업체에 물어 보시는게 가장 나을듯 하네요.
패스를 잡아주고 해도 안된다면...

엄한데서 시간 뺏는거 보단...

<어떠한 역경에도 굴하지 않는 '하양 지훈'>

#include <com.h> <C2H5OH.h> <woman.h>
do { if (com) hacking(); if (money) drinking(); if (women) loving(); } while (1);

peccavi의 이미지

답변 감사합니다..

사소한데에 삽질을 좀 하는편이라.. ^^

----
jai guru deva om...

kimyj7의 이미지

Quote:
일반적으로.. 라이브러리 파일 이름이 libauth.so.0.1 이면

라이브러리 이름이 auth가 되는것 아닌가요?

=> ln -s libauth.so.0.1 libauth.so 를 안 하신것은 아니신지요. 동적 라이브러리 링크 시에는 참조하는 so library의 major, minor 넘버가 빠진 libxxx.so 파일이 있어야 합니다.