boost_python hello 示例不起作用
Posted
技术标签:
【中文标题】boost_python hello 示例不起作用【英文标题】:boost_python hello example not working 【发布时间】:2015-01-30 14:13:51 【问题描述】:我正在尝试让 boost python 工作的 hello world 示例。我正在使用OSX
、boost 1.55
和python 2.7
这是我的hello.cpp
#include <boost/python/module.hpp>
#include <boost/python/def.hpp>
char const* greet()
return "hello, world";
BOOST_PYTHON_MODULE(hello_ext)
using namespace boost::python;
def("greet", greet);
我用以下两行编译它:
g++ -fPIC -I/usr/include/python2.7/ -I/usr/local/include/ -c hello.cpp
g++ -shared -Wl, -o hello.so hello.o -L/usr/lib -L/usr/local/lib -lpython2.7 -lboost_python
当我尝试通过 import hello.so
将其导入 python 时,我收到以下错误:
ImportError: dynamic module does not define init function (inithello)
有什么想法吗?
【问题讨论】:
【参考方案1】:原来BOOST_PYTHON_MODULE
中的名称必须与库的名称匹配,所以我将链接步骤更改为
g++ -shared -Wl, -o hello_ext.so hello.o -L/usr/lib -L/usr/local/lib -lpython2.7 -lboost_python
【讨论】:
以上是关于boost_python hello 示例不起作用的主要内容,如果未能解决你的问题,请参考以下文章
XMPP - 示例第 3 章“使用 JavaScript 和 jQuery 进行专业 XMPP 编程”不起作用
为啥 str != "hello" && "goodbye" 不起作用?