平臺:Windows 7中,64位(x64),Visual Studio 2008的C++痛飲的Python(嵌入式Python在C++)工作在釋放,但不是在調試
我選擇Python的&痛飲作爲應用程序的腳本環境結合。
作爲一個原型,創建了一個初始化Python(Py_Initalize,Py_setPyHome等)的main()的簡單VS解決方案,執行test.py. &。在同一個解決方案中創建了另一個項目,它是一個簡單類的DLL。使用SWIG來包裝這個類。這個DLL是_MyClasses.pyd。 test.py創建我的類&的對象調用其成員函數。
所有這些在發佈模式中都很有用。但在調試模式下無法工作(甚至試圖在筆記本電腦上敲打我的頭;-))。我的工作
輸出看起來像這樣(在釋放&調試):
x64
-debug
- _MyClasses.pyd
- MyClasses.py
- test.exe
- test.py
- python26.dll
- python26_d.dll
注意,調試版本對python26_d.lib鏈接。爲此,必須自己構建python!
test.py
import MyClasses
print "ello"
m = MyClasses.Male("John Doe", 25)
print m.getType()
男是C++類。
The problem:
Traceback (most recent call last):
File "test.py", line 6, in <module>
import MyClasses
File "...\x64\Debug\MyClasses.py", line 25, in <module>
_MyClasses = swig_import_helper()
File "...\x64\Debug\MyClasses.py", line 17, in swig_imp
ort_helper
import _MyClasses
ImportError: No module named _MyClasses
[15454 refs]
我用的Makefile &是新來的Visual Studio。我不知道誰是罪魁禍首:Swig,Python的調試版,Visual Studio,我的愚蠢。
預先感謝您。這將是一個很大的幫助。