2013-01-31 4 views
0

gcc의 라이브러리 순서가 중요하다는 것을 알고 있지만 어떤 라이브러리가 무엇에 달려 있는지 모르기 때문에 어떤 라이브러리가 먼저 있어야하는지 어떻게 알 수 있습니까?`krb5_kt_free_entry '에 대한 정의되지 않은 참조

ssl 라이브러리와 관련된 오류가 계속 발생합니다.

LIBS = -lstdc++ -lmysqlclient -lz -lcrypt -lnsl -lssl -lcrypto -ldl 

누군가가 안내 할 수 제발 내가이 정의되지 않은 참조를 제거 어떻게 :

/usr/lib/libssl.a(kssl.o): In function `kssl_sget_tkt': 
(.text+0x20b9): undefined reference to `krb5_kt_default' 
/usr/lib/libssl.a(kssl.o): In function `kssl_sget_tkt': 
(.text+0x2119): undefined reference to `krb5_kt_get_entry' 
/usr/lib/libssl.a(kssl.o): In function `kssl_sget_tkt': 
(.text+0x218f): undefined reference to `krb5_decrypt_tkt_part' 
/usr/lib/libssl.a(kssl.o): In function `kssl_sget_tkt': 
(.text+0x21b5): undefined reference to `krb5_kt_free_entry' 

이하 나는 메이크의 순서를 사용한 적이 그들 중 몇몇이있다? 정말 krb5 라이브러리가 필요합니까? 당신은 라이브러리 목록에 -lkrb5을 추가해야 할 수 있습니다처럼

감사

답변

1

사실, 그것은 보인다. -lssl 앞에 넣으십시오.

+0

나는이 작업을 시도했지만 작동하지 않습니다. 나에게도 같은 오류가 발생합니다. -ldl이 정확한 위치에 있습니까? – dharag

+0

'-ldl'은'dlopen'과 관련 함수를 제공하기 때문에 오류 메시지와 관련이 없습니다. – nneonneo

+0

mysql 클라이언트에 어떤 라이브러리가 포함되어야하는지 알기 원하십니까? 나는 단지 makefile을 myql 서버에 연결할 수 있도록 수정하고있다. – dharag

관련 문제