5

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

如果我可以给你任何其他信息来帮助你帮助我,那么请告诉我

4

1 回答 1

6

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

于 2012-06-13T14:12:01.330 回答