gpt4 book ai didi

c++ - 将类型导出到 python

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:58:57 27 4
gpt4 key购买 nike

我想使用 boost.python 将单例导出到 python 并在那里使用它。这是代码:

class ConfigManager : public boost::serialization::singleton<ConfigManager> {};
inline ConfigManager &configManager() { return ConfigManager::get_mutable_instance(); }

BOOST_PYTHON_MODULE(ConfigManager)
{
bp::class_<ConfigManager, boost::noncopyable>("ConfigManager", bp::no_init);
bp::def("getHandle", &configManager, bp::return_value_policy<bp::copy_non_const_reference>());
}

现在,当我在 python 中调用 getHandle 时,我得到:

TypeError: No to_python (by-value) converter found for C++ type: ConfigManager

我做错了什么?

最佳答案

copy_non_const_reference 将尝试复制您对 Python 对象的引用,您应该改用 bp::reference_existing_object,我在这里试过错误消息消失了

关于c++ - 将类型导出到 python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5356706/

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