У меня есть следующий базовый код cpp с pybind11:
#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");
}
Вот шаги, которые я выполнил (я использую Visual Studio 17 без модулей Python, у меня есть Python отдельно в enacs anaconda):
- Я вручную добавил заголовок pybind11 в дополнительные каталоги include проекта.
- Я установил цель как x64, а Release
- Я просто скомпилировал файл, который создал объект "example.obj "в каталоге выпуска
- Я добавил объектный файл в каталог, который включен в pythonpath
- попробовал импортировать пример в python, он не дает модуля с именем example error
Документация в pybind11 не определяет, какие типы файлов должен генерировать компилятор, это должен быть файл библиотеки или dll?Есть ли какие-либо особые шаги, которые необходимо выполнить, кроме этого?