【Pybind11】pybind11在visual studio中的配置

2023-05-16

以下是pybind11在visual studio2019中的配置,这里我使用的python版本是3.6,只要是3.9以下的python应该都可以,配置比较简单,比较适合小白。

  • 步骤一:下载pybind11
  • 步骤二:配置属性>>常规>>配置类型
  • 步骤二:配置属性>>常规>>VC++目录
  • 步骤三:链接器>>输入>>附加依赖项
  • 步骤四:运行测试
  • 步骤五:python调用
  • *如果对您有帮助,收藏+关注+点赞再走吧!!!*

步骤一:下载pybind11

下载pybind11,解压到磁盘中。点此可下载 比如,我解压的位置是:E:\pybind11-master

步骤二:配置属性>>常规>>配置类型

打开VS,右键点击工程选择属性,配置属性>>常规>>配置 设置成dll。
在这里插入图片描述

步骤二:配置属性>>常规>>VC++目录

设置一:配置属性>>常规>>VC++目录>>包含目录:

python 的 include 目录: C:\xxxx\Python\Python36\include
pybind11 的 include 目录: E:\pybind11-master\include

设置二:配置属性>>常规>>VC++目录>>库目录:

python 的 libs 目录:C:\xxxx\Python\Python36\libs

如下所示:
在这里插入图片描述
在这里插入图片描述

步骤三:链接器>>输入>>附加依赖项

链接器>>输入>>附加依赖项 设置python相关依赖的lib。
这里,我们主要用的是python36.lib 和 python3.lib,这两个lib在python路径的libs文件夹中(C:\xxx\Python\Python36\libs)
在这里插入图片描述

步骤四:运行测试

输入以下代码,选择项目,点击生成(生成或重新生成!!!!),如果显示成功即可说明pybind11已经链接成功了哦!

#include <pybind11\pybind11.h>
#include <iostream>

void age(double age) {
    std::cout << "age = " << age << std::endl;
}

std::string Name(std::string& name) {
    std::cout << "Name: " << name << std::endl;
    return name;
}

namespace py = pybind11;

PYBIND11_MODULE(example1, m)
{
    m.doc() = "The general function";
    m.def("age", &age);
    m.def("Name", &Name);
}

在这里插入图片描述

步骤五:python调用

将生成的dll改成pyd后缀,并重命名为example1(与PYBIND11_MODULE名称相同),然后,复制到py同级目录中就可以调用了。

import example1
a = 10.5
example1.age(a)
b = "lcl"
c = example1.Name(b)
print(c)

运行结果

age = 10.5
Name: lianchangle
lianchangle

如果对您有帮助,收藏+关注+点赞再走吧!!!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Pybind11】pybind11在visual studio中的配置 的相关文章

随机推荐