sto ottenendo lo stesso errore di queste altre due domande: ImportError: dynamic module does not define init function, but it does e Cython compiled C extension: ImportError: dynamic module does not define init functionQual è la funzione init di un modulo dinamico in python?
Ma le loro soluzioni non sono uguali, e non ha funzionato per me.
Sto provando a chiamare le funzioni di una libreria condivisa che ho scritto in c, all'interno del mio programma python.
Ho compilato la mia lib condivisa in questo modo:
gcc -shared -Wl,-soname,playfaircrack.so -o playfaircrack.so -fPIC playfaircrack.c scoreText.o
ho creato un modulo, e all'interno di questo modulo che carico questo lib con:
cracker = ctypes.cdll.LoadLibrary('./playfaircrack.so')
Ma quando si esegue il codice, ottengo il seguente errore:
Che è molto strano, perché se eseguo l'interprete python e chiamo dir ectly:
cracker = ctypes.cdll.LoadLibrary('./playfaircrack.so')
Posso accedere alle funzioni della mia lib condivisa.
Qualche idea su come risolvere questo problema? Grazie.
Bene. Non posso farlo perché playfair è il programma principale, e playfaircrack è un modulo chiamato dal programma principale. –
Aggiornamento della risposta. Due moduli con lo stesso nome non funzionano. –
Non mi è mai successo qualcosa del genere. Ha funzionato. Grazie :) –