Bonjour ici,
j’ai un petit souci avec une lib en C que j’ai produite avec une seule fonction.
Le code C de toto.c :
#include <stdio.h>
char * titi(void) {
return "Hello world!";
}
qui donne toto.so.
Le wrapper python toto.py :
from ctypes import CDLL, c_char_p
# Load the shared library
toto = CDLL("./toto.so")
toto.titi.restype = c_char_p
Et le code de test test_toto.py :
import toto
print(toto.titi())
Voilà, un truc assez basique, j’ai jeté un oeil à pas mal de tutos, et j’obtiens toujours la même erreur quand j’utilise le dernier script :
Traceback (most recent call last):
File "test_toto.py", line 1, in <module>
import toto
ImportError: dynamic module does not define module export function (PyInit_toto)
Si j’exécute la fonction titi depuis le fichier toto.py, elle est bien appelée sans souci. Mais il semble que je ne puisse pas l’appeler depuis un import.
Sur les internets ça parle de version de compilateur,… Si vous avez une idée, je suis preneur !