Доступ к объектам c ++ из python - PullRequest
0 голосов
/ 28 апреля 2020

Я написал клон с нестабильной птицей на С ++. Теперь я хотел бы попробовать написать ИИ, чтобы играть в эту игру. Я действительно предпочел бы использовать python для написания нейронной сети, поэтому мне нужно найти какой-то способ доступа к объекту Bird из c ++. Тогда я (надеюсь) смогу вызвать метод рисования птицы из python и получить доступ ко всем ее данным - я думаю. Проведя некоторые исследования, я обнаружил, что лучшим решением, вероятно, будет pybind11. Проблема в том, что я не могу понять, как добавить его в мой проект VS c ++. Учебники говорят, чтобы использовать cmake; однако мой проект не использует cmake. Я думал, что библиотека «только заголовок» означала, что в исходный файл включены только .h файлы, которые не нужно собирать. Я ошибаюсь? И если да, то как мне go добавить добавленную в мою библиотеку pybind11 (или другую, лучшую библиотеку [я не хотел использовать boost :: python, потому что я не хотел иметь дело со всей зависимостью boost]) проект. Извините за многословный характер этого вопроса и заранее благодарю.

1 Ответ

0 голосов
/ 29 апреля 2020

Microsoft предоставляет способ упаковки кода C ++ в python dll с использованием boost или pybind11: проверьте здесь: https://docs.microsoft.com/en-us/visualstudio/python/working-with-c-cpp-python-in-visual-studio?view=vs-2019#pybind11

...