Plate-forme: Windows 7, 64 bits (64 bits), Visual Studio 2008C++ Swig Python (intégré Python en C++) fonctionne dans la version, mais pas dans Debug
J'ai choisi la liaison Swig Python & que l'environnement de script de l'application .
En tant que prototype, créé une solution VS simple avec main() qui initialise Python (Py_Initalize, Py_setPyHome, etc.) & exécute test.py. Dans la même solution créé un autre projet qui est une DLL d'une classe simple. SWIG utilisé pour envelopper cette classe. Cette DLL est le _MyClasses.pyd. test.py crée les objets de ma classe & appelle ses fonctions membres.
Tout cela fonctionne comme un charme en mode Release. Mais ne fonctionne pas en mode débogage (même essayé de me taper la tête sur l'ordinateur portable ;-)).
sortie de mon travail ressemble à ceci (à la fois libérer & debug):
x64
-debug
- _MyClasses.pyd
- MyClasses.py
- test.exe
- test.py
- python26.dll
- python26_d.dll
Notez que la version de débogage est lié avec python26_d.lib. J'ai dû construire moi-même python pour ça!
test.py
import MyClasses
print "ello"
m = MyClasses.Male("John Doe", 25)
print m.getType()
Mâle est la classe 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]
Je suis habitué à Makefiles & suis nouveau à Visual Studio. Je ne sais pas qui est le coupable ici: Swig, la version debug de Python, Visual Studio, ma stupidité.
Merci d'avance. Ce sera d'une grande aide.