我正在尝试在我的 mac (OS-X 10.6.8) 上安装 libsvm。Libsvm 可以很好地为 C++ 安装(我可以很好地使用 svm-train、svm-predict 二进制文件)。按照说明,我在 libsvm-3.12/python/ 文件夹中输入 make 并得到以下输出
<i>
make -C .. lib
if [ "Darwin" = "Darwin" ]; then \
SHARED_LIB_FLAG="-dynamiclib -W1,-install_name,libsvm.so.2"; \
else \
SHARED_LIB_FLAG="-shared -W1,-soname,libsvm.so.2"; \
fi; \
g++ ${SHARED_LIB_FLAG} svm.o -o libsvm.so.2
</i>
但是当我尝试通过“import svmutil”在 python 中使用它时,我收到以下错误
<i>
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "svmutil.py", line 3, in <module>
from svm import *
File "svm.py", line 19, in <module>
'../libsvm.so.2'))
File "/Library/Frameworks/Python.framework/Versions/7.1/lib/python2.7/ctypes/__init__.py", line 353, in __init__
self._handle = _dlopen(self._name, mode)
OSError: dlopen(../libsvm.so.2, 6): no suitable image found. Did find:
../libsvm.so.2: mach-o, but wrong architecture
</i>
我不知道如何解决这个错误。我也尝试使用 g++ 的 -m64 和 -arch x86_64 标志进行编译(在 libsvm 的“制作”过程中),但我继续收到此错误。有人可以告诉我如何解决这个问题吗?