2016-03-09 75 views
0

我有一個.cpp和.h源文件對,它是一個管理器(我猜也是一個包裝器),用於我編寫的C++庫。我想讓人們使用這個管理器在python中使用我的庫。我聽說過幾種不同的方式來將這個庫封裝成python,如cythonboost.python,但Im在理解過程時遇到了麻煩。把C++庫混淆到python

如果我想讓這個管理器在Python中可用,是否需要以不同的方式將它包裝爲每個版本的Python? (2.7 vs 3.4)對於每個版本的每個操作系統,我是否還需要以不同方式包裝它?所以2.7/3.4的Windows和2.7/3.4的Linux?

+0

從這裏開始:http://cython.org/ – Tanner

+0

[swig](http://www.swig.org/Doc1.3/SWIG.html)旨在生成這些包裝。 –

回答

1

關於您對過程的困惑,只需按照您找到的任何包裝庫或註釋中建議的位置的任何教程進行操作即可。

如果我想讓這個管理器在python中可用,是否需要以不同方式將它包裝爲每個python版本? (2.7對3.4)

是的。您可能可以將爲Python 3.4編譯的二進制模塊加載到Python 3.5中,但它不可能在主要版本中運行。

我是否還需要以不同的方式爲每個版本的每個操作系統打包它?

是。就像你需要爲不同的操作系統(也可能是版本)和CPU體系結構編譯你的C++代碼一樣,Python模塊並沒有什麼不同。然而,「以不同的方式包裝」只是意味着「爲目標環境編譯」。