如何使用pybind11正确编译C ++代码

时间:2019-02-27 14:44:17

标签: python c++ pybind11

我的pybind11具有以下基本cpp代码:

#include "pch.h"
#include <pybind11/pybind11.h>

int add(int i, int j) {
    return i + j;
}

PYBIND11_MODULE(example, m) {
    m.doc() = "pybind11 example plugin"; // optional module docstring

    m.def("add", &add, "A function which adds two numbers");
}

这是我遵循的步骤(我使用的是不带python模块的Visual Studio 17,在anaconda envs中分别具有python):

  • 我在项目的其他包含目录中手动添加了pybind11标头。
  • 我将目标设置为x64并释放
  • 我只是编译了文件,该文件在发布目录中创建了一个对象“ example.obj”
  • 我将目标文件添加到了pythonpath中包含的目录中
  • 在python中尝试导入示例,它没有给出名为example error的模块

pybind11中的文档未指定编译器应生成哪种文件类型,应该是库文件还是dll?除此之外,还有其他特殊步骤吗?

0 个答案:

没有答案