我将尝试跟随这里给出的示例,编译一些C代码并将其导入到Python中:http://csl.sublevel3.org/C-functions-from-Python/
我可以使用建议的调用方式进行编译:
但是现在我卡住了,会出现以下错误:
gcc -dynamiclib -I/usr/include/python2.3/ -lpython2.3 -o myModule.dylib myModule.c
但是我正在使用Python 3,我已经解决了一堆编译器错误,最终得到了这个:
gcc -dynamiclib -I/Library/Frameworks/Python.framework/Versions/3.2/include/python3.2m/ -lpython3.2m -o myModule.dylib myModule.c
但是现在我卡住了,会出现以下错误:
ld: library not found for -lpython3.2m
根据我的有限知识,我尝试了一些方法。我发现 Python 版本存在两个位置:
/System/Library/Frameworks/Python.framework/Versions
还有:
/Library/Frameworks/Python.framework/Versions
Python 3.2 位于第二个位置,因此我认为我需要告诉 gcc 在哪里搜索以解决 -lpython3.2m 的问题?或者 -lpython3.2m 是错误的,我尝试使用 -lpython3.2 但是从 ld 得到了相同类型的错误。
其他可能有用的事实:
操作系统:Mac OS 10.6.8
Python 3.2 安装自从 Python.org 获得的 DMG 文件。
如果有其他信息可以帮助你帮助我,请让我知道。
-L/usr/local/homebrew/Cellar/python@3.9/3.9.9/Frameworks/Python.framework/Versions/3.9/lib/
,这个路径关键地包含了libpython3.9.dylib
。 - Sridhar Sarnobat