gpt4 book ai didi

python - 如何将boost模块从C++导入到python?

转载 作者:太空宇宙 更新时间:2023-11-04 12:41:34 24 4
gpt4 key购买 nike

以下是我要导入的 C++ 代码。

#include <boost/python.hpp>
#include <string>

/*
* This is the C++ function we write and want to expose to Python.
*/
const std::string hello() {
return std::string("hello, zoo");
}

/*
* This is a macro Boost.Python provides to signify a Python extension module.
*/
BOOST_PYTHON_MODULE(zoo) {
// An established convention for using boost.python.
using namespace boost::python;

// Expose the function hello().
def("hello", hello);
}

以下代码为python脚本。

import zoo     # In zoo.cpp we expose hello() function, and it now exists 
in the zoo module.

assert 'hello' in dir(zoo) # zoo.hello is a callable.

assert callable(zoo.hello) # Call the C++ hello() function from Python.

print zoo.hello()

当我尝试运行脚本时,我没有在终端得到“hello, zoo”作为输出。我在哪里犯了错误?

以下是我收到的错误消息:

导入:未授权 zoo' @ error/constitute.c/WriteImage/1028。
./visit_zoo.py: 第 3 行:意外标记附近的语法错误
('./visit_zoo.py: 第 3 行:`assert 'hello' in dir(zoo)'

最佳答案

你是不是像我一样忘记指出脚本应该由 Python 运行?

您可以在脚本文件的 header 中包含 python 可执行文件:

#!/usr/bin/env python2

并使文件可执行或使用 Python 调用脚本:

$ python <filename>

关于python - 如何将boost模块从C++导入到python?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53958988/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com