Betten Sie einen Python-Interpreter mit pybind11 + cmake in eine C ++ - App ein

Seit einiger Zeit war es möglich, einen Python-Interpreter einfach einzubetten und eine Exe mit pybind11 zu erstellen.

https://pybind11.readthedocs.io/en/stable/advanced/embedding.html

Nützlich, wenn C ++ das Hauptprogramm ist oder der Einstiegspunkt ein C / C ++ - Programm ist.

Standardmäßig durchsucht es das System und verknüpft mit gefundenem libPython (z. B. Python in der Conda-Umgebung nach Conda usw.).

Wenn Sie Python explizit angeben möchten

Dies geschieht mit "cmake -DPYTHON_EXECUTABLE = / path / to / bin / python ..." und "PYTHON_EXECUTABLE". (Lib scheint es auch basierend auf dem bin-Verzeichnis zu finden)

Dies liegt daran, dass pybind11 intern "find_package (PythonInterp)" ist.

https://cmake.org/cmake/help/v3.18/module/FindPythonInterp.html

Übrigens gibt es Suffixe wie python3.8m, aber hier ist die Bedeutung von Suffix.

https://stackoverflow.com/questions/32544974/naming-convention-what-does-the-m-mean-in-libpython3-5m-dylib

TODO

Recommended Posts

Betten Sie einen Python-Interpreter mit pybind11 + cmake in eine C ++ - App ein
Versuchen Sie, Python mit pybind11 in ein C ++ - Programm einzubetten
Löse ABC163 A ~ C mit Python
Löse ABC168 A ~ C mit Python
Löse ABC162 A ~ C mit Python
Löse ABC167 A ~ C mit Python
Löse ABC158 A ~ C mit Python
Übergeben Sie die Liste von Python an C ++ als Referenz in pybind11
Dämonisieren Sie eine Python-Webanwendung mit Supervisor
Verwenden von C ++ - Funktionen aus Python mit pybind11
Erstellen Sie eine Desktop-App mit Python mit Electron
Fordern Sie AtCoder (ABC) 164 mit Python heraus! A ~ C Problem
[Übung] Erstellen Sie eine Watson-App mit Python! # 2 [Übersetzungsfunktion]
[Übung] Erstellen Sie eine Watson-App mit Python! # 1 [Sprachdiskriminierung]
Ich habe mit Python eine App für die Benachrichtigung über Netznachrichten erstellt
Machen Sie mit Python einen Haltepunkt auf der c-Ebene
[AtCoder Erklärung] Kontrollieren Sie ABC180 A, B, C Probleme mit Python!
[AtCoder Erklärung] Kontrollieren Sie ABC158 A, B, C Probleme mit Python!
Debuggen mit dem PEPPER Python Interpreter
Machen Sie eine Lotterie mit Python
Erstellen Sie ein Verzeichnis mit Python
[AtCoder Erklärung] Kontrollieren Sie ABC164 A, B, C Probleme mit Python!
[AtCoder Erklärung] Kontrollieren Sie ABC168 A, B, C Probleme mit Python!
Machen Sie mit Python mehrere numerische Höhendaten zu einem einzigen Bild
Erstellen Sie mit Python + Django + AWS eine Scraping-App und wechseln Sie Jobs
[Python] Was ist eine with-Anweisung?
Bedienen Sie den Belegdrucker mit Python
Python-Grafikhandbuch mit Matplotlib.
Rufen Sie C von Python mit DragonFFI auf
Erstellen Sie Awaitable mit der Python / C-API
ABC127 A, B, C Erklärung (Python)
Lassen Sie uns eine GUI mit Python erstellen.
Löse ABC166 A ~ D mit Python
ABC166 in Python A ~ C Problem
Erstellen Sie eine virtuelle Umgebung mit Python!
Ich habe mit Python eine Lotterie gemacht.
Erstellen einer virtuellen Umgebung mit Python 3
Erstellen Sie ein Empfehlungssystem mit Python
Löse ABC036 A ~ C mit Python
AtCoder ABC 114 C-755 mit Python3 gelöst
[Python] Generiere ein Passwort mit Slackbot
ABC128 A, B, C Kommentar (Python)
ABC126 A, B, C Erklärung (Python)
Lassen Sie uns ein Diagramm mit Python erstellen! !!
Löse ABC037 A ~ C mit Python
[Python] Erbt eine Klasse mit Klassenvariablen
Ich habe mit Python einen Daemon erstellt
Schreiben Sie ein Batch-Skript mit Python3.5 ~
[Erklärung zum AtCoder] Kontrollieren Sie die A-, B- und C-Probleme von ABC182 mit Python!
[AtCoder Erklärung] Kontrollieren Sie ABC184 A, B, C Probleme mit Python!
[Pyenv] Erstellen einer Python-Umgebung mit Ubuntu 16.04