2012-06-13 125 views
3

我試圖按照步驟來編譯一些C代碼從這裏給出的例子導入的Python:使用建議調用http://csl.sublevel3.org/C-functions-from-Python/的Mac OS X LD:庫找不到-lpython3

我可以編譯:

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/版本

Python 3.2位於第二位,所以我認爲我需要告訴gcc在哪裏搜索以解決-lpython3.2m?或者-lpython3.2m是錯誤的,我已經嘗試了-lpython3.2,但是我得到了來自ld的相同類型的錯誤。

其他事實,這可能有助於:

的Mac OS 10.6.8

的Python 3.2從DMG安裝您從Python.org

如果有任何其他信息,我可以給得你幫我幫忙,然後請讓我知道

回答

2

要告訴gcc搜索庫的其他目錄,你使用-L選項,類似於-I選項你已經在使用。像-L/Library/Frameworks/Python.framework/Versions/3.2/lib,我猜想。

+1

耶!這工作,但現在我有更多的新錯誤。謝謝你的幫助! – ilikeprogramming