如何包装使用boost.asio公司使用boost.python?

2024-09-29 02:18:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图包装一些使用boost.asio公司与boost.python. 在

当我用bjam构建库时,它会创建.so文件,但是当我试图从python脚本导入它时,我得到以下错误

导入错误:/path/to/timer_外景so:未定义符号:_ZN5boost6system15system_categoryEv

这是我的代码:

在定时器.cpp在

    #include <iostream>
        #include <boost/asio.hpp>
        #include <boost/date_time/posix_time/posix_time.hpp>

        #include <boost/python/module.hpp>
        #include <boost/python/def.hpp>

      char const* test()
{
        boost::asio::io_service io; 
        boost::asio::deadline_timer t(io, boost::posix_time::seconds(5));
        t.wait();

        std::cout << "Hello, world!\n";

        return "Done.";
}

BOOST_PYTHON_MODULE(timer_ext)
{
        using namespace boost::python;
        def("test", test);
}

^{pr2}$

在定时器.py在

import timer_ext
print timer_ext.test()

Tags: iotestsoincludetimedef错误公司