[英]How to bind using pybind11?
这是我程序的结构:
我正在尝试将C ++中的程序与python中的GUI绑定。 我正在使用pybind11,并且我有一个用于绑定的python_binding.cpp文件以及一些“ .h”和“ .cpp”以及其他目录中的方法。 我包含“ .h”文件,但是python_binding.cpp无法识别它们。
文件config.cpp只有一个void方法“ cargar_configuracion()”,这就是绑定中的样子:
#include "Ejemplo/config.h"
PYBIND11_MODULE(Example, m) {
m.doc() = "Binding"; // optional module docstring
m.def("cargar_configuracion", &cargar_configuracion);
结果是以下错误:
undefined reference to `cargar_configuracion()'
我究竟做错了什么? 我应该将我的.cpp和.h与binding.cpp放在同一目录中吗?
提前致谢!
您的pybind11看起来不错,这是链接器错误。 config.cpp
似乎在您的解决方案中的另一个项目中,并且正在单独的可执行文件中构建。 您在此处有两个选择,要么将config.cpp复制到同一目录中,要么将Ejemplo
重新配置为静态库,然后将其指定为python包装器项目属性中的依赖项。
从以下位置更改代码:
bViewResult = QtWidgets.QPushButton('View Results', self)
bViewResult.clicked.connect(self.openCSV)
至:
bViewResult = QtWidgets.QPushButton('View Results', self)
bViewResult.clicked.connect(cargar_configuracion())
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.