Read the Cython documentation. This will also (hopefully) teach you what Cython is and what it isn't. Cython is for creating python extensions (not a general-purpose Python-to-C-compiler), which are shared objects/dlls. Dynamically loaded libraries don't have a main
function like standalone programs, but compilers assume that they are ultimately linking an executable. You have to tell them otherwise via flags (-shared
methinks, but again, refer to the Cython documentation) - or even better, don't compile yourself, use a setup.py
for this (yet again, read the Cython documentation).