这是我的问题:我必须用 python 调用用 C 编写的算法。我用 swig 来做。
所以我有一个 example.i 文件,看起来像这样
%module example
%{
#include "example.h"
%}
%include "example.h"
我的 example.h 文件非常简单
#ifndef EXAMPLE
#define EXAMPLE
#include <gmp.h>
// function that needs gmp library
void myFunction();
#endif
当我必须编译时,我运行
swig -python example.i
gcc -fpic -std=c99 -c example.c example_wrap.c -I/usr/include/python2.7/
gcc -shared example.o example_wrap.o -o -lgmp _example.so
到目前为止一切都很好,但是当我尝试在 python 中导入示例时出现错误 ImportError: example.so: undefined symbol: __gmpf_cmp
所以 swig 和 gmp 库之间的链接有问题,但我不知道错误来自哪里。
python -V
2.7.3
swig -version
SWIG Version 2.0.4
Ubuntu 12.04
任何帮助将不胜感激。
提前致谢,
胜利者