Leggere la documentazione di Cython. Questo (si spera) ti insegnerà anche cosa è Cython e cosa non lo è. Cython serve per creare estensioni python (non un compilatore Python-to-C generico), che sono oggetti/DLL condivisi. Le librerie caricate dinamicamente non hanno una funzione main
come programmi standalone, ma i compilatori presumono che alla fine stiano collegando un eseguibile. Devi dire loro diversamente tramite flag (-shared
methinks, ma ancora una volta, fare riferimento alla documentazione Cython) - o ancora meglio, non compilare te stesso, utilizzare uno setup.py
per questo (ancora una volta, leggere la documentazione Cython).
+1 per la spiegazione – user225312
per me questa risposta ha comportato la compilazione di un'estensione di lavoro. la risposta di RoeeK ha risolto il problema di collegamento, ma dopo che Python non è riuscito a importare con errore 'ImportError: il modulo dinamico non definisce la funzione init '. grazie mille, penso sarebbe più bello scriverlo con uno stile meno docile senza assumere la stupidità come suggerisce il 3 rtfm. – deeenes