Повторите привязку от одного проекта к другому (Pybind11)C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Повторите привязку от одного проекта к другому (Pybind11)

Сообщение Anonymous »

Я работаю в привязке от C ++ к Python, используя Pybind11. < /p>
Представьте, что существуют два проекта C ++: Проект A и проект b. < /p>
Проект A уже связан с Python. Я установил эту привязку с. Я написал функцию, тип возврата которого является сложным типом, определяемым в Project A. Я могу получить это в C ++, просто включив его заголовок, как: #include "Projecta/ComplectType.h" . Тем не менее, очень сложно разоблачить этот класс на Python с классическим подходом, поскольку он имеет много атрибутов и методов. />p.S.: Я оставляю здесь пример привязки проекта B: < /p>
#include
#include "ProjectA/complexType.h"

namespace py = pybind11;

complexType myfcn(const std::string &filename)
{
// Fcn body
return complexTypeObject;
}

PYBIND11_MODULE(mymodule, m)
{
// Module doc
m.doc() = "Doc.";

// I do not want this since python cannot recognize the attributes of complexType. Also,
// I do not want to bind this class again
py::class_(m, "complexType");

// Fcn binding:
m.def("myfcn", &myfcn, "My fcn description");
}
< /code>
Я хочу связать функцию C ++, тип возврата которого является структурой данных. Одним из членов этой структуры является объект сложного типа, который определяется в другом привязке.>

Подробнее здесь: https://stackoverflow.com/questions/769 ... r-pybind11
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»