我刚刚开始使用Cython,并试图编译一个“Hello World”脚本。我正在尝试使用gcc -Os /User/Documents/Python/Test\ Python/helloCopy.c -I/Library/Frameworks/Python.framework/Versions/3.5/include/python3.5m -l
,但不知道在-l
之后要添加什么。其他论坛页面会在链接器命令行中显示“include-lpython2.7(或您正在使用的任何Python版本)”,但这会产生ld: library not found for -lpython3.5clang: error: linker command failed with exit code 1 (use -v to see invocation)
我是否应该将-l
定向到特定文件夹?
最佳答案
我不知道你在使用什么资源,但是this没有提到-l
标志。它暗示
cython -a helloCopy.pyx
这将创建一个yourmod.c文件,-a开关将生成源代码的带注释的html文件。传递-h标志以获取支持标志的完整列表。
gcc -shared -pthread -fPIC -fwrapv -O2 -Wall -fno-strict-aliasing -I/usr/include/python2.7 -o helloCopy.so helloCopy.c
(Linux系统)
在macOS上,我试图用
gcc -I/usr/bin/python -o helloCopy.so helloCopy.c
使用标准版本的Python。
关于python - Cython:编译和找不到库Mac OSX 10.12,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43055967/