boost-python相关内容

如何从 boost::python 返回 numpy.array?

我想从 C++ 代码中返回一些数据作为 numpy.array 对象.我查看了 boost::python::numeric,但它的文档非常简洁.我可以举个例子吗?返回一个(不是很大)vector 到 python?我不介意复制数据. 解决方案 更新: 在我的原始答案中描述的库 (https://github.com/ndarray/Boost.NumPy) 自 Boost 1.63 起已 ..
发布时间:2021-11-18 02:07:35 其他开发

导入错误:/usr/lib/libboost_python.so.1.54.0:未定义符号:PyClass_Type

我有用 C++ 编写的代码: #include 字符常量*问候(){返回“耶!";}BOOST_PYTHON_MODULE(libtest){使用命名空间 boost::python;def("问候", 问候);} 现在我想通过以下方式将此动态库导入python: 导入libtest 但我明白了: 导入错误:/usr/lib/libboost_python.so.1.54.0:未定义符号 ..
发布时间:2021-11-17 03:23:17 其他开发

包装矩阵乘法运算符*重载

我一直在尝试包装要在python中调用的矩阵c ++类.我希望能够使用丰富的乘法运算符(即m1 * m2)来调用矩阵乘法,但是到目前为止,我们仅设法绑定了一个函数 m3 =乘法(m1,m2)python我能够通过派生类获得相同的功能: class mat4(mylib.mat4):def __init __():super().__ init __(自己)def __mul __(自己,其他) ..
发布时间:2021-04-16 18:30:42 其他开发

编译时将错误与Boost.python链接

正在尝试构建受这里 我的初衷是能够从Python内部调用C ++代码.我只是运行Boost文档中的示例以实现此目标. 这是我的makefile文件 CXX:= g ++CXX_FLAGS:= -Wall -Wextra -std = c ++ 17 -ggdbBIN:=箱SRC:= src包含:= incLIB:= libBOOST_ROOT:=/home/eicossa/repo ..
发布时间:2021-04-16 18:30:39 其他开发

如何将[.myfolder.pyfile]导入为[其他]?

假设我有 项目| __实用程序|| __ foo.py|| __ boost_extensions|| __ myclass.cpp|| __ myclass.so|| __ someotherstuff|| __ bar.py|| __ mylib.py|| __ __main__.py 是否可以在 main .py 中执行类似的操作 将.utilities.foo导入为Foo#此函数 ..
发布时间:2021-04-16 18:30:35 其他开发

Boost.Python模块中的未定义符号

我正在尝试使用Boost.Python为模板库的特定实例构建一个小型Python扩展.该库广泛使用CGAL库,该库与CMake集成得很好,因此我将其用于我的项目. 这是我的模块(python_export.cpp)的代码: #include#include#include"Spher ..
发布时间:2021-04-16 18:30:29 其他开发

boost :: python导出自定义异常并继承自Python的Exception

boost :: python导出自定义异常的可接受答案显示了如何导出自定义C ++中的异常类,以及 Boost.Python自定义异常类显示了如何导出异常从Python的Exception继承的类.我该怎么办?这暴露了一个异常类,该异常类具有用于检索信息的自定义方法,并且该类也从Python的Exception派生. 解决方案 Jim Bosch在 C ++信号列表,是使用合成,而不是从 ..
发布时间:2021-04-16 18:30:25 其他开发

如何打包python模块依赖的共享对象?

我有一个使用C ++实现的python软件包,我正在使用setuptools分发该软件包.我的C ++代码取决于某些共享库,特别是boost.python库.我应该如何分发这些共享对象?目前,我要求软件包用户单独安装boost C ++库,但我宁愿将所有内容捆绑在一个setuptools发行版中,以使他/她更轻松.目前,除了安装我的软件包之外,他们还必须设置Boost库及其 LD_LIBRARY_ ..
发布时间:2021-04-16 18:30:22 其他开发

在C ++中提取从C ++类继承的Python对象

我想从C ++(Base)导出一个抽象类,以便在Python(Derived)中创建一个继承的类,并最终提取该类以创建C ++指针对象(Base *).我找到了此解决方案.,尽管它可以编译,但它对我不起作用,执行异常终止.我的代码是这样的: #if PY_MAJOR_VERSION> = 3#定义INIT_MODULE PyInit_moduleextern"C" PyObject * INI ..
发布时间:2021-04-15 20:46:13 其他开发

提升python:使用return_internal_reference将参数的生存期与返回值联系起来

我开始学习使用boost python并遇到新手问题. 我想编写一个函数,该函数可以将其参数的生命周期与其结果联系起来,这样,当我调用 r = func(a)时,参数 a r 的引用,它将永远不会被销毁.该文档建议针对此类型的请求使用 return_internal_reference 调用策略.但这是否要求 r 作为 a 的内部引用,如其名称所示? 在下面的(过度简化的)示例中,假设 ..
发布时间:2021-04-15 20:43:54 其他开发

对boost :: python :: detail :: init_module和朋友的未定义引用

我正在尝试在官方网站上使用示例测试boost python.但这会导致很多错误...以下是我的工作和错误. 通过下载Boost1.55这个. 将 Eclipse 库搜索路径添加到"usr/includ"(此处位于增强目录) 添加库标志 -lpython2.7 (已安装Python2.7) 添加包含路径 usr/include/python2.7 (在我的第一次尝试中,发生了错误:找不到 ..
发布时间:2021-04-15 20:43:39 其他开发

C ++ Boost.Python:2个问题

因此,我搜索了将C ++代码与python集成的好工具,首先我看了boost.python. 我已经从boost文档中获得了问候,并尝试构建和运行它.源代码是(src/hello.cpp): #include#includechar const * greet(){返回“你好,世界";}BOOST_PYTHON_MODULE(h ..
发布时间:2021-04-15 20:43:35 其他开发

如何使用PyObjects声明Boost.Python C ++类

我想用PyObjects编写一个c ++类,以便从Python访问它们,以使用现有的Python对象实例引用它们.简而言之,我想在C ++类中存储/管理Python对象实例. 例如: struct Var{PyObject * Test_1;PyObject *测试_2;};#include使用命名空间boost :: python;BOOST_PY ..
发布时间:2021-04-15 20:42:37 其他开发

vector_indexing_suite返回的奇怪对象

我有一个 std::vector 我从c ++函数返回的 : getallTs() 我用以下方法公开了T类: class_ 和向量是这样的: class_ >("TsList") .def(vector_indexing_suite,t ..
发布时间:2020-09-22 18:48:36 其他开发

python中已编译模块之间的依赖关系

假设我在python项目中有两个用C ++编写并通过boost :: python公开的模块. mod1.hpp #ifndef MOD1_HPP #define MOD1_HPP #include int square(int x); #endif mod1.cpp #include "mod1.hpp" using names ..
发布时间:2020-09-22 18:48:28 其他开发