2012-07-26 43 views
0

我嘗試使用本教程編譯用Cython接口的C庫:Using C libraries with Cython但是當我去爲它具有:setup.py LD找不到庫,目前,路徑配置

python2 setup.py build_ext -i 

的連接器無法找到該庫(庫名稱是libHorde3D

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 

這是libHorde3D.so非常奇特的是出現在我的/ usr/lib和我的/ opt/lib目錄,鏈接器的搜索路徑在/etc/ld.conf中配置以查看這些目錄,並嘗試設置 LD_LIBRARY_PATH,LIBRARY_PATH,LDFLAGS,以及通過將其直:下列變量拱路徑

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

我做了一個ldconfig -v和庫列:

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

良好的措施我試圖改變主人爲'根',仍然沒有。

這是怎麼回事?特別是因爲如果從Code :: Blocks調用鏈接器(當處理一些補充C++代碼時),我能夠鏈接庫。

在此先感謝!

回答

0

我認爲你需要從-l參數字去掉lib,所以將其更改爲-lHorde3D

+0

其實工作,謝謝。奇怪的是,我必須將所有其他庫與lib詞鏈接起來。 – Kiril 2012-08-01 17:10:10