Incorporer un interpréteur Python dans une application C ++ avec pybind11 + cmake

Il y a quelque temps, il était possible d'intégrer facilement un interpréteur python et de construire un exe avec pybind11.

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

Utile si C ++ est le principal ou si le point d'entrée est un programme C / C ++.

Par défaut, il recherche le système et les liens avec libPython trouvé (par exemple, python dans l'environnement conda pour conda etc.)

Si vous souhaitez spécifier Python explicitement

cmake -DPYTHON_EXECUTABLE = / chemin / vers / bin / python ... et PYTHON_EXECUTABLE. (Lib semble également le trouver en fonction du répertoire bin)

C'est parce que pybind11 en interne find_package (PythonInterp).

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

À propos, il existe des suffixes tels que python3.8m, mais voici la signification de suffixe.

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

TODO

Recommended Posts

Incorporer un interpréteur Python dans une application C ++ avec pybind11 + cmake
Essayez d'incorporer Python dans un programme C ++ avec pybind11
Résoudre ABC163 A ~ C avec Python
Résoudre ABC168 A ~ C avec Python
Résoudre ABC162 A ~ C avec Python
Résoudre ABC167 A ~ C avec Python
Résoudre ABC158 A ~ C avec Python
Passer la liste de Python vers C ++ par référence dans pybind11
Démonisez une application Web Python avec Supervisor
Utilisation des fonctions C ++ de python avec pybind11
Créez une application de bureau avec Python avec Electron
Défiez AtCoder (ABC) 164 avec Python! Un problème ~ C
[Pratique] Créez une application Watson avec Python! # 2 [Fonction de traduction]
[Pratique] Créez une application Watson avec Python! # 1 [Discrimination linguistique]
J'ai créé une application de notification de nouvelles en ligne avec Python
Faire un point d'arrêt sur la couche c avec python
[Explication AtCoder] Contrôle ABC180 Problèmes A, B, C avec Python!
[Explication AtCoder] Contrôle ABC158 Problèmes A, B, C avec Python!
Déboguer avec l'interpréteur PEPPER python
Faites une loterie avec Python
Créer un répertoire avec python
[Explication AtCoder] Contrôle ABC164 Problèmes A, B, C avec Python!
[Explication AtCoder] Contrôle ABC168 Problèmes A, B, C avec Python!
Transformez plusieurs données numériques d'élévation en une seule image avec Python
Créez une application de scraping avec Python + Django + AWS et modifiez les tâches
[Python] Qu'est-ce qu'une instruction with?
Faites fonctionner l'imprimante de reçus avec python
Manuel de graphisme Python avec Matplotlib.
Appeler C depuis Python avec DragonFFI
Créer Awaitable avec l'API Python / C
Explication ABC127 A, B, C (python)
Faisons une interface graphique avec python.
Résoudre ABC166 A ~ D avec Python
ABC166 en Python A ~ C problème
Créez un environnement virtuel avec Python!
J'ai fait une loterie avec Python.
Créer un environnement virtuel avec Python 3
Créer un système de recommandation avec python
Résoudre ABC036 A ~ C avec Python
Résolu AtCoder ABC 114 C-755 avec Python3
[Python] Générer un mot de passe avec Slackbot
ABC128 Commentaire A, B, C (python)
Explication ABC126 A, B, C (python)
Faisons un graphe avec python! !!
Résoudre ABC037 A ~ C avec Python
[Python] Hériter d'une classe avec des variables de classe
J'ai créé un démon avec Python
Ecrire un script batch avec Python3.5 ~
[Explication AtCoder] Contrôlez les problèmes A, B, C d'ABC182 avec Python!
[Explication AtCoder] Contrôle ABC184 Problèmes A, B, C avec Python!
[Pyenv] Construire un environnement python avec ubuntu 16.04