我成功地编译了一个Boost.Python“first try”,但不确定如何将其导入python并调用它包含的方法。我的源文件如下:
#include <stdlib.h>
#include <string>
#include <boost/python.hpp>
using namespace boost::python;
int test(int i)
{
fprintf(stderr, "%s:\n", __FUNCTION__);
return i * 5;
}
BOOST_PYTHON_MODULE(ipg)
{
using namespace boost::python;
def("test", test);
}
我的生成文件包含:
^{pr2}$我的测试脚本:
import sys
# My modules.
import ipg
ipg.test()
输出二进制文件放在测试脚本旁边,然后运行测试脚本。这将导致以下错误:
Traceback (most recent call last): File "test.py", line 4, in import ipg ImportError: No module named ipg
我应该使用什么标志来编译我的输出二进制文件,我应该如何将它导入python?我用过boost.Python以前在Windows上,但那是很久以前的事了。在
在Linux上,如果您的模块名为
ipg
,那么您需要创建一个名为ipg.so
的文件。这是一个简单的makefile相关问题 更多 >
编程相关推荐