【问题标题】:Mac OS X ld: library not found for -lpython3Mac OS X ld:找不到 -lpython3 的库
【发布时间】:2012-06-16 11:16:21
【问题描述】:

我正在尝试按照以下步骤编译一些 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

如果有任何其他信息可以提供给您帮助您帮助我,请告诉我

【问题讨论】:

    标签: macos gcc python-3.2


    【解决方案1】:

    要告诉gcc 其他目录搜索库,您使用-L 选项,类似于您已经使用的-I 选项。我猜是-L/Library/Frameworks/Python.framework/Versions/3.2/lib 之类的东西。

    【讨论】:

    • 耶!这可行,但现在我有更多新错误。感谢您的帮助!
    猜你喜欢
    • 2020-05-08
    • 2016-06-30
    • 1970-01-01
    • 1970-01-01
    • 2012-07-17
    • 1970-01-01
    • 1970-01-01
    • 2010-11-04
    • 2022-07-13
    相关资源
    最近更新 更多