5

我对 boost c/c++ 库相当陌生。我下载了boost库并构建了库。

我使用 boost 接口在 c++ 中创建了一个非常简单的 python 库(实际上它是文档中给出的示例代码)。我将它构建到一个dll文件中。在文档中,它读到这个 ​​dll 暴露给 python,它们只是在 python 中显示导入函数并包含创建的库。我不明白如何将该dll暴露给python并以传统('import')方式加载库。如果您想查看代码,那么这里是:

#include <boost/python.hpp>

char const* greet()
{
    return "hello, world";
}

BOOST_PYTHON_MODULE(hello_ext)
{
    using namespace boost::python;
    def("greet", greet);
}

请帮助我真的想用 c/c++ 和 python 构建应用程序。我只是想使用 hello_ext 作为:

>>>import hello_ext
>>>print hello_ext.greet()

谢谢你。

4

1 回答 1

1

我将它构建到一个dll文件中。在文档中,它读到这个 ​​dll 暴露给 python,它们只是在 python 中显示导入函数并包含创建的库。我不明白如何将该dll暴露给python并以传统('import')方式加载库。

您需要将该共享库放入模块搜索路径中。有几种方法可以实现这一目标。

一种是:

import sys
sys.path.append("<directory-where-hello_ext-module-resides>")
import hello_ext

您的共享库应该被称为hello_ext.dll.

于 2012-11-17T23:24:04.363 回答