草庐IT

boost-uuid

全部标签

c++ - 通过引用 : TypeError: No to_python (by-value) converter found for C++ type: 调用 Boost.Python

我正在尝试使用Boost.Python将我的C++类公开给Python。这是我正在尝试做的简单版本:我有一个从boost::noncopyable派生的类A和第二个类B,其方法将A的引用作为参数。classA:boost::noncopyable{/*...*/};classB{public:virtualvoiddo_something(A&a){/*...*/}};我将这些类公开如下:/*WrapperforB,soBcanbeextendedinpython*/structBWrap:publicB,wrapper{voiddo_something(A&a){if(overrid

c++ - 通过引用 : TypeError: No to_python (by-value) converter found for C++ type: 调用 Boost.Python

我正在尝试使用Boost.Python将我的C++类公开给Python。这是我正在尝试做的简单版本:我有一个从boost::noncopyable派生的类A和第二个类B,其方法将A的引用作为参数。classA:boost::noncopyable{/*...*/};classB{public:virtualvoiddo_something(A&a){/*...*/}};我将这些类公开如下:/*WrapperforB,soBcanbeextendedinpython*/structBWrap:publicB,wrapper{voiddo_something(A&a){if(overrid

c++ - boost-python 在重载方法之间进行选择

假设存在一些具有两个重载方法的类Foo:classFoo{...voidm1(A&a);voidm1(B&b);我需要通过boost-python公开这些方法之一:boost::python::class_("Foo").def("m1",&Foo::m1)我应该如何指定m1(A&a)的签名应该用于m1(B&b) 最佳答案 为了补全,也可以把它们都暴露在python端:void(Foo::*m1_a)(A&)=&Foo::m1;void(Foo::*m1_b)(B&)=&Foo::m1;boost::python::class_("

c++ - boost-python 在重载方法之间进行选择

假设存在一些具有两个重载方法的类Foo:classFoo{...voidm1(A&a);voidm1(B&b);我需要通过boost-python公开这些方法之一:boost::python::class_("Foo").def("m1",&Foo::m1)我应该如何指定m1(A&a)的签名应该用于m1(B&b) 最佳答案 为了补全,也可以把它们都暴露在python端:void(Foo::*m1_a)(A&)=&Foo::m1;void(Foo::*m1_b)(B&)=&Foo::m1;boost::python::class_("

c++ - Boost 和 Python 3.x

boost.python如何处理Python3?只有Python2吗? 最佳答案 较新版本的Boost应该可以在PythonV3.x上正常工作。这种支持是在很久以前添加的,我相信在2009年成功的GoogleSummerofCode项目之后。将PythonV3与Boost一起使用的方法是通过添加实例来正确配置构建系统:usingpython:3.1:/your_python31_root;到您的user-config.jam文件。 关于c++-Boost和Python3.x,我们在Sta

c++ - Boost 和 Python 3.x

boost.python如何处理Python3?只有Python2吗? 最佳答案 较新版本的Boost应该可以在PythonV3.x上正常工作。这种支持是在很久以前添加的,我相信在2009年成功的GoogleSummerofCode项目之后。将PythonV3与Boost一起使用的方法是通过添加实例来正确配置构建系统:usingpython:3.1:/your_python31_root;到您的user-config.jam文件。 关于c++-Boost和Python3.x,我们在Sta

python - Boost Python 出现 "No such file or directory"错误

我已经从ubuntu9.04存储库安装了boostpython。我已经成功运行BuildaSimpleProgramUsingBoost从教程中,所以我知道我的系统上安装了boostpython。但是,下面的程序返回错误:#includenamespace{//Avoidclutteringtheglobalnamespace.//AcoupleofsimpleC++functionsthatwewanttoexposetoPython.std::stringgreet(){return"hello,world";}intsquare(intnumber){returnnumber*n

python - Boost Python 出现 "No such file or directory"错误

我已经从ubuntu9.04存储库安装了boostpython。我已经成功运行BuildaSimpleProgramUsingBoost从教程中,所以我知道我的系统上安装了boostpython。但是,下面的程序返回错误:#includenamespace{//Avoidclutteringtheglobalnamespace.//AcoupleofsimpleC++functionsthatwewanttoexposetoPython.std::stringgreet(){return"hello,world";}intsquare(intnumber){returnnumber*n

c++ - boost::python 导出自定义异常

我目前正在使用Boost.Python为Python编写C++扩展。此扩展中的函数可能会生成包含有关错误信息的异常(不仅仅是描述所发生情况的人类可读字符串)。我希望我可以将这个异常导出到Python,这样我就可以捕获它并使用额外的信息做一些事情。例如:importmy_cpp_moduletry:my_cpp_module.my_cpp_function()exceptmy_cpp_module.MyCPPException,e:printe.my_extra_data不幸的是,Boost.Python似乎将所有C++异常(它们是std::exception的子类)转换为Runtime

c++ - boost::python 导出自定义异常

我目前正在使用Boost.Python为Python编写C++扩展。此扩展中的函数可能会生成包含有关错误信息的异常(不仅仅是描述所发生情况的人类可读字符串)。我希望我可以将这个异常导出到Python,这样我就可以捕获它并使用额外的信息做一些事情。例如:importmy_cpp_moduletry:my_cpp_module.my_cpp_function()exceptmy_cpp_module.MyCPPException,e:printe.my_extra_data不幸的是,Boost.Python似乎将所有C++异常(它们是std::exception的子类)转换为Runtime