我正在尝试按照以下步骤从此处给出的示例中编译一些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/

10-11 22:57
查看更多