我正在冒險進入使用pybindgen爲Python創建C/C++綁定的領域。我已經按照「建設它(GCC指令)」爲示例文件創建綁定下所列的步驟:應放置共享對象文件的位置?
http://packages.python.org/PyBindGen/tutorial.html#a-simple-example
運行make
產生.so文件。如果我明白.so文件如何工作,我應該能夠將共享對象中的類放入Python中。但是,我不確定在哪裏放置文件以及如何讓Python知道它在哪裏。另外,原始的c/C++源文件是否需要附帶.so文件?
到目前爲止,我已經嘗試將文件放在/ usr/local/lib中,並將該路徑添加到.bash_profile的DYLD_LIBRARY_PATH中。當我嘗試從Python中的interpeter中導入模塊時,會拋出一個錯誤,指出無法找到該模塊。
所以,我的問題是:生成的.so文件需要做些什麼才能被Python程序使用?
感謝您的輸入。我已將.so文件放入/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages。這當然是在路徑上,因爲我在同一目錄中使用其他庫。但是,Python仍然在拋出一個錯誤,指出不存在這樣的模塊。也許這個.so文件有問題嗎?至於關於LD_LIBRARY_PATH的差異,我在Mac上,我在這裏閱讀http://www.agavemountain.com/2008/03/ldlibrarypath-in-mac-os-x.html,在Mac上,env變量是稱爲DYLD。 – JeremyFromEarth 2011-05-11 07:34:30