Платформа: Windows 7, 64 бит (x64), Visual Studio 2008
Я выбрал привязку Python & Swig в качестве среды сценариев приложения.
В качестве прототипа создано простое решение VS с main (), которое инициализирует Python (Py_Initalize, Py_setPyHome и т. Д.) И выполняет 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]
Я привык к Makefiles и новичок в Visual Studio. Я не знаю, кто здесь виноват: Swig, Отладочная сборка Python, Visual Studio, моя глупость.
Заранее спасибо. Это будет отличная помощь.