2012-06-03 2 views
0
[1/2] g++ -std=gnu++11 -Wall -g -I/usr/local/include -c test.cpp -o test.o 
[2/2] g++ -std=gnu++11 -L/usr/local/lib64 -Wl,-rpath,/usr/local/lib64 -glog -lfolly test.o -o hello 
FAILED: g++ -std=gnu++11 -L/usr/local/lib64 -Wl,-rpath,/usr/local/lib64 -glog -lfolly test.o -o hello 
/usr/bin/ld: /usr/local/lib64/libfolly.so: undefined reference to symbol '_ZN6google15LogMessageFatalD1Ev' 
/usr/bin/ld: note: '_ZN6google15LogMessageFatalD1Ev' is defined in DSO /usr/local/lib64/libglog.so.0 so try adding it to the linker command line 
/usr/local/lib64/libglog.so.0: could not read symbols: Invalid operation 
collect2: error: ld returned 1 exit status 

libglog 연결된 내부 /usr/local/lib64 단지 libfolly처럼 앉아 라이브러리를 원한다. 어떤 이유로 그것은 glog 라이브러리에서 "기호를 읽을 수 없습니다". 왜 안돼? 나는 이미 변경없이 이들 모두를 추가하려고 시도했다 : -ldl -lc -lpthread -lrt 나는 그들이 왜 필요해야하는지 정말로 알지 못하기 때문에, 나는 위의 출력에서 ​​그들을 버렸다.링커는 이미

답변

0

-lglog를 사용해야합니다. 공유 객체 라이브러리 이름은 libglog.so.0 (모든 .so가 저장된 경로를 확인하십시오)입니다.

관련 문제