我正在尝试按照以下步骤从此处给出的示例中编译一些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.org获得的DMG安装了Python 3.2
如果还有其他我可以给您的信息,请帮助我
最佳答案
要告诉gcc
其他目录来搜索库,请使用-L
选项,类似于您已经在使用的-I
选项。我想像-L/Library/Frameworks/Python.framework/Versions/3.2/lib
这样的东西。
关于macos - Mac OS X ld : library not found for -lpython3,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11015877/