1. 程式人生 > >Python的C擴充套件模組的編寫(Anaconda+VS2013,python3.5和c++)

Python的C擴充套件模組的編寫(Anaconda+VS2013,python3.5和c++)

vs2013
調整生成配置,release和與python位數一致的平臺,這裡我選擇x64,因為我的python是64位
建立工程->32位專案->專案型別選DLL
配置工程屬性:
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述

**

.h檔案中,加入#include <Python.h>.cpp檔案中編寫擴充套件功能函式,具體示例見:http://download.csdn.net/download/zkp_987/10040116
然後將pythonextention\x64\Release下的pythonextention.dll改字尾.pyd放在Anaconda\DLLS下,在python中 import pythonextention 即可
注意:
編譯生成的dll檔案要與python的位數一致,如果用預設生成的32
位的dll和64位的python,會出現ImportError: DLL load failed: %1 不是有效的 Win32 應用程式。這時候修改生成的配置管理器,選擇Release 和x64,從新編譯生成64位的dll即可。 如果VS報錯fatal error LNK1104: 無法開啟檔案“python35_d.lib” ,由於錯誤沒有生成需要的檔案。 錯誤的原因是系統安裝有Python3.5,而預設的情況下Python是不提供python35_d.lib和python35_d.dll檔案的(注意,這裡並不是把libs下的python35.lib改名就可以解決的)。有d和沒有d的區別是有d的是給debug用的,沒d是給release用的,為了編譯通過,如果想配置debug可以在網上下載這兩個檔案,然後將python35_d.lib
放在Anaconda\libs下,或者配置release然後直接生辰釋出版的lib

**