2013-05-12 88 views
0

我想運行這個代碼示例來測試Ubuntu 12.04上的swig。我的系統上安裝了python 2.7.3。此代碼似乎適用於聯網機器。我怎樣才能找到我的python安裝在哪裏,我應該替換這些目錄路徑是什麼?我在哪裏可以找到我的-I/usr/local目錄?

cc -c example.c example_wrap.c \ 
-I/usr/local/include/python1.5 \ 
-I/usr/local/lib/python1.5/config 

回答

1

您可以用python-config --includes替換這些行,它會自動爲編譯器和您安裝的Python版本創建正確的語句。 本身是通過python-dev安裝的,如果您還沒有安裝它,您將需要安裝它。

所以調用命令行編譯器:

cc -c example.c example_wrap.c $(python-config --cflags) -fPIC 

而且,python1.5?你在哪裏找到這個例子?

+0

謝謝。這是1998年的swig教程。實際上,我已經替換了python-dev工具,但在示例中的地址中仍然沒有python.h。另外現在我得到以下錯誤:example_wrap.c:2952:21:致命錯誤:headers.h:沒有這樣的文件或目錄 編譯終止。 – rishiag 2013-05-12 09:30:23

+0

在http://www.swig.org/tutorial.html有一個稍微更新的教程。仍然python2.1;)用我稍微編輯的命令行,那裏的例子適用於我。如果你想與python的c代碼交互,你也可以看看http://cffi.readthedocs.org/en/latest/index.html – 2013-05-12 09:51:05

+0

非常感謝。 :)這對我來說很好。其實我試圖做到這一點:http://stackoverflow.com/questions/16504795/how-do-i-integrate-c-library-with-python我想整合C + +庫與Python。關於如何完成的任何想法? – rishiag 2013-05-12 10:02:02

0

/usr/local是標準的Posix任何操作系統,請參閱Filesystem Hierarchy Standard (FHS)。你可以通過apt-get獲得你需要的python版本(我認爲命令是sudo apt-get install python1.5,但目前我不在Ubuntu系統中,所以我不能嘗試它),它會把它放在標準的位置,很可能是/usr/local

要回答您的問題的其他部分,您可以使用which python找到您的python安裝位置。 python很可能是python2.7的符號鏈接,因此您可能必須明確運行python1.5,如果已安裝它,可以使用which python1.5找到它。

Python 1.5是一個非常非常老的Python版本。你從哪裏得到代碼樣本?

相關問題