cythonbook / examples

Code examples from the book.
425 stars 157 forks source link

A problem found in compile standalone excutable #3

Open NKUCodingCat opened 8 years ago

NKUCodingCat commented 8 years ago

I am in Linux Mint 18 (base on Ubuntu 16.04), and I try the code in Page 27 which is

gcc $(python-config --cflags) $(python-config --ldflags) ./irrationals.c

gcc raise dozens of error like Undefined reference to ‘Py_Initialize’, when I change code to

gcc $(python-config --cflags) ./irrationals.c $(python-config --ldflags)

Everything works well. So is it a version specific bug?

Python v 2.7.12 Cython v 0.24.1 gcc v 5.4.0 (20160609)

stefanos82 commented 7 years ago

@NKUCodingCat Indeed there are some messy things in the book that don't make any sense.

In case you are still interested in generating a standalone executable, run:

gcc -O2 irrationals.c -o irrationals $(python-config --libs --cflags --ldflags)

Your executable will be big, at least on my system was 13MB and I had to run strip --strip-all irrationals to reduce it down to 3.1MB.