2014-03-31 68 views
1

我想問一些關於以下問題的幫助。一些理論:我使用的是Ubuntu 12.04,python2.7,我試圖在python中加載C共享庫(libFSToolbox.so)。我想使用PyFeat,它是用於FEAST的python包裝器。我編譯了FEAST和FEAST先決條件MIToolbox。有問題的libFSToolbox.so是宴在Python中加載C共享庫期間的OSError(未定義的符號:checkedCalloc)

的彙編的結果......與現實: 大樓,一切都相當精細,但當我試圖使用宴會上有進口

File "test.py", line 2, in <module> 
from feast import * 
File "/usr/local/lib/python2.7/dist-packages/feast.py", line 25, in <module> 
libFSToolbox = c.CDLL("/home/peterd/VUT/ML/FEAST-master/libFSToolbox.so"); 
File "/usr/lib/python2.7/ctypes/__init__.py", line 365, in __init__ 
self._handle = _dlopen(self._name, mode) 
OSError: /home/peterd/VUT/ML/FEAST-master/libFSToolbox.so: undefined symbol:  
checkedCalloc 

過程中的問題我編譯c庫爲x64($(MAKE)libFSToolbox.so「CXXFLAGS = -O3 -fPIC -m64」),我的python解釋器也是64(試過:python >> platform.machine()回答:'x86_64')

謝謝您的時間

回答

0

我t hink的問題是如何在FEAST的Makefile中給出鏈接器的選項。

兩個選項

1)更改線路中的Makefile宴

從 鏈接器= GCC

鏈接器= LD

2)如果你想使用gcc鏈接 更改Makefile的第47行

$(接頭)-lMIToolbox -lm -L $(MITOOLBOXPATH)-shared -o libFSToolbox.so $(對象)

$(接頭)-L $( MITOOLBOXPATH)-shared -o libFSToolbox.so $(objects)-lMIToolbox -lm

相關問題