Je suis en train d'appeler du code Python en C avec ce code:Appel fonction Python-3 en C
#include <stdio.h>
#include <Python.h>
int main()
{
PyObject* pInt;
Py_Initialize();
PyRun_SimpleString("print('This is Python in C')");
Py_Finalize();
printf("\n");
return 0;
}
et ont essayé de le compiler avec cette commande:
gcc python_test_in_c.c
Cependant, il renvoie un erreur renvoie en disant:
undefined referance to `__imp __Py_Initialise`
undefined referance to `__imp__PyRun_SimpleSringFlags`
undefined referance to `__imp__Py_Finalise`
collect2.exe: error: ld returned 1 exit status
Qu'est-ce qui ne va pas? Comment puis-je réparer cela?
Toute aide serait appréciée
PS Je ne suis pas sûr, mais cela pourrait être quelque chose à voir avec le fait que je copié le fichier Python « include » (contenant Python.h) dans le fichier include pour MinGW situé C:/MinGW
MISE À JOUR: J'ai maintenant appris que c'est ok à faire mais considéré comme une mauvaise pratique.
Vous n'avez pas lié la bibliothèque. – litelite
S'il vous plaît modifier le titre! Cela n'a aucun sens et est simplement trompeur. Vous ne "incorporez pas de code Python en C". Vous appelez simplement des fonctions de l'API Python C. Ce n'est pas différent de toute autre bibliothèque. – Olaf
@Olaf techniquement cela ressemble à l'intégration à moi, voir 'PyRun_SimpleString (" print ('Ceci est Python en C') ");'. Il est intégré via une API de bibliothèque. –