2012-07-26 2 views
0

나는이 자습서를 사용하여 C 라이브러리에 사이 썬 인터페이스를 컴파일하려고 :setup.py의 LD는 경로가 구성되어 존재하는 라이브러리를 찾을 수 없습니다

python2 setup.py build_ext -i 

: Using C libraries with Cython을하지만 난 그것을 위해 갈 때 링커는 libHorde3D.so 매우 특유

gcc -pthread -shared -Wl,-O1,--sort-common,--as-needed,-z,relro,--hash-style=gnu build/temp.linux-x86_64-2.7/horde3d.o -L/usr/lib -llibHorde3D -lpython2.7 -o /home/kiril/workspace/horde3d_python/cython/horde3d.so 
/usr/bin/ld: cannot find -llibHorde3D 

내는/usr/lib 디렉토리에 내/옵션/lib 디렉토리에 존재하는 (도서관 이름은 libHorde3D입니다) 라이브러리를 찾는데 실패, 링커에 대한 검색 경로 /etc/ld.conf에이 디렉토리를 조사하도록 설정되어 있고 se 설정을 시도했다. LD_LIBRARY_PATH, LIBRARY_PATH, LDFLAGS뿐만 아니라 똑바로 전달하여 : 다음 변수 아치 경로

python2 setup.py build_ext -i -L/opt/lib 

가 나는 ldconfig -v를하고 라이브러리가 나열됩니다 좋은 측정 I에 대한

/usr/lib: 
    libHorde3D.so -> libHorde3D.so 
/opt/lib: 
    libHorde3D.so -> libHorde3D.so 

소유자를 '루트'로 변경하려고 시도했지만 여전히 아무것도 아닙니다.

여기에 무슨 일이 일어나고 있습니까? 특히 링커가 Code :: Blocks (어떤 보완적인 C++ 코드로 작업 할 때)에서 호출되면 라이브러리를 링크 할 수 있기 때문에 특히 그렇습니다.

미리 감사드립니다.

답변

0

난 그냥, 덕분에 당신 -l 인수에서 단어 lib을 제거, 그래서 사실상이 일한 -lHorde3D

+0

로 변경 필요가 있다고 생각합니다. 이상하게도 다른 모든 라이브러리를 lib라는 단어와 연결해야합니다. – Kiril

관련 문제