2011-03-18 6 views
2

싱글 톤을 python으로 내보내고 boost.python을 사용하여 그곳에서 사용하고 싶습니다. 내가 파이썬에서 getHandle를 호출 할 때타입을 파이썬으로 내보내기

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>()); 
} 

내가 얻을, 지금 :

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

내가 뭘 잘못했는지 여기 코드는?

답변

2

copy_non_const_reference 파이썬 객체에 대한 참조를 복사하려고합니다, 대신 bp::reference_existing_object를 사용해야합니다, 여기 시도하고 오류 메시지가

을 사라